densitty 0.9.0__tar.gz → 1.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (1026) hide show
  1. densitty-1.0.0/Makefile +84 -0
  2. densitty-1.0.0/PKG-INFO +41 -0
  3. densitty-1.0.0/README.md +16 -0
  4. densitty-1.0.0/densitty/__init__.py +9 -0
  5. densitty-1.0.0/densitty/ansi.py +108 -0
  6. densitty-1.0.0/densitty/axis.py +428 -0
  7. densitty-1.0.0/densitty/binning.py +325 -0
  8. densitty-1.0.0/densitty/colorbar.py +84 -0
  9. densitty-1.0.0/densitty/detect.py +583 -0
  10. densitty-1.0.0/densitty/plotting.py +259 -0
  11. densitty-1.0.0/densitty/smoothing.py +315 -0
  12. densitty-1.0.0/densitty/util.py +259 -0
  13. densitty-1.0.0/densitty/util.pyi +38 -0
  14. densitty-1.0.0/densitty.egg-info/PKG-INFO +41 -0
  15. densitty-1.0.0/densitty.egg-info/SOURCES.txt +692 -0
  16. densitty-1.0.0/docs/api.md +271 -0
  17. densitty-1.0.0/docs/examples/example_1_densityplot2d.png +0 -0
  18. densitty-1.0.0/docs/examples/example_2_histplot2d.png +0 -0
  19. densitty-1.0.0/docs/examples/example_3_histplot2d_finer.png +0 -0
  20. densitty-1.0.0/docs/examples/example_4_histplot2d_fixedsizebins.png +0 -0
  21. densitty-1.0.0/docs/examples/example_5_grid_heatmap.png +0 -0
  22. densitty-1.0.0/docs/examples/example_6_eye_diagram.png +0 -0
  23. densitty-1.0.0/docs/examples.md +84 -0
  24. densitty-1.0.0/docs/inline-histplot2d.png +0 -0
  25. densitty-1.0.0/docs/terminal_support.md +50 -0
  26. densitty-1.0.0/docs/usage.md +70 -0
  27. densitty-1.0.0/examples/colormaps.py +66 -0
  28. densitty-1.0.0/examples/example_1_densityplot2d.py +14 -0
  29. densitty-1.0.0/examples/example_2_histplot2d.py +13 -0
  30. densitty-1.0.0/examples/example_3_histplot2d_finer.py +12 -0
  31. densitty-1.0.0/examples/example_4_histplot2d_fixedsizebins.py +14 -0
  32. densitty-1.0.0/examples/example_5_grid_heatmap.py +18 -0
  33. densitty-1.0.0/examples/example_6_eye_diagram.py +16 -0
  34. densitty-1.0.0/examples/examples.md.header +6 -0
  35. densitty-1.0.0/examples/eye_plot.py +46 -0
  36. densitty-1.0.0/examples/generate_example_markdown.py +36 -0
  37. densitty-1.0.0/examples/generate_screenshots.py +36 -0
  38. densitty-1.0.0/examples/iterm2_run_and_screenshot.py +35 -0
  39. densitty-1.0.0/examples/run_examples.py +21 -0
  40. densitty-1.0.0/examples/screenshot_example.sh +36 -0
  41. densitty-1.0.0/examples/setup_examples.py +10 -0
  42. densitty-1.0.0/pyproject.toml +62 -0
  43. densitty-1.0.0/tests/axis_tests.py +243 -0
  44. densitty-1.0.0/tests/binning_tests.py +211 -0
  45. densitty-1.0.0/tests/color_tests.py +132 -0
  46. densitty-1.0.0/tests/colorbar_tests.py +146 -0
  47. densitty-1.0.0/tests/conftest.py +26 -0
  48. densitty-1.0.0/tests/golden.py +55 -0
  49. densitty-1.0.0/tests/goldens/simple_glyph_ascii +1 -0
  50. densitty-1.0.0/tests/goldens/simple_glyph_basic +1 -0
  51. densitty-1.0.0/tests/goldens/simple_glyph_extended +1 -0
  52. densitty-1.0.0/tests/goldens/test_added_colorbar +1 -0
  53. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-False-False-False-False +1 -0
  54. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-False-False-False-True +1 -0
  55. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-False-False-True-False +1 -0
  56. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-False-False-True-True +1 -0
  57. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-False-True-False-False +1 -0
  58. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-False-True-False-True +1 -0
  59. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-False-True-True-False +1 -0
  60. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-False-True-True-True +1 -0
  61. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-True-False-False-False +1 -0
  62. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-True-False-False-True +1 -0
  63. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-True-False-True-False +1 -0
  64. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-True-False-True-True +1 -0
  65. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-True-True-False-False +1 -0
  66. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-True-True-False-True +1 -0
  67. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-True-True-True-False +1 -0
  68. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0)-ext-True-True-True-True +1 -0
  69. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-False-False-False +1 -0
  70. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-False-False-True +1 -0
  71. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-False-True-False +1 -0
  72. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-False-True-True +1 -0
  73. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-True-False-False +1 -0
  74. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-True-False-True +1 -0
  75. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-True-True-False +1 -0
  76. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-True-True-True +1 -0
  77. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-False-False-False +1 -0
  78. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-False-False-True +1 -0
  79. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-False-True-False +1 -0
  80. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-False-True-True +1 -0
  81. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-True-False-False +1 -0
  82. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-True-False-True +1 -0
  83. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-True-True-False +1 -0
  84. densitty-1.0.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-True-True-True +1 -0
  85. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-False-False-False-False +1 -0
  86. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-False-False-False-True +1 -0
  87. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-False-False-True-False +1 -0
  88. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-False-False-True-True +1 -0
  89. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-False-True-False-False +1 -0
  90. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-False-True-False-True +1 -0
  91. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-False-True-True-False +1 -0
  92. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-False-True-True-True +1 -0
  93. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-True-False-False-False +1 -0
  94. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-True-False-False-True +1 -0
  95. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-True-False-True-False +1 -0
  96. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-True-False-True-True +1 -0
  97. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-True-True-False-False +1 -0
  98. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-True-True-False-True +1 -0
  99. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-True-True-True-False +1 -0
  100. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1)-ext-True-True-True-True +1 -0
  101. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-False-False-False +1 -0
  102. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-False-False-True +1 -0
  103. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-False-True-False +1 -0
  104. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-False-True-True +1 -0
  105. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-True-False-False +1 -0
  106. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-True-False-True +1 -0
  107. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-True-True-False +1 -0
  108. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-True-True-True +1 -0
  109. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-False-False-False +1 -0
  110. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-False-False-True +1 -0
  111. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-False-True-False +1 -0
  112. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-False-True-True +1 -0
  113. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-True-False-False +1 -0
  114. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-True-False-True +1 -0
  115. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-True-True-False +1 -0
  116. densitty-1.0.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-True-True-True +1 -0
  117. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-False-False-False-False +1 -0
  118. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-False-False-False-True +1 -0
  119. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-False-False-True-False +1 -0
  120. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-False-False-True-True +1 -0
  121. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-False-True-False-False +1 -0
  122. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-False-True-False-True +1 -0
  123. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-False-True-True-False +1 -0
  124. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-False-True-True-True +1 -0
  125. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-True-False-False-False +1 -0
  126. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-True-False-False-True +1 -0
  127. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-True-False-True-False +1 -0
  128. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-True-False-True-True +1 -0
  129. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-True-True-False-False +1 -0
  130. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-True-True-False-True +1 -0
  131. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-True-True-True-False +1 -0
  132. densitty-1.0.0/tests/goldens/test_axes-False-(-1-10)-ext-True-True-True-True +1 -0
  133. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-False-False-False-False +1 -0
  134. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-False-False-False-True +1 -0
  135. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-False-False-True-False +1 -0
  136. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-False-False-True-True +1 -0
  137. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-False-True-False-False +1 -0
  138. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-False-True-False-True +1 -0
  139. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-False-True-True-False +1 -0
  140. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-False-True-True-True +1 -0
  141. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-True-False-False-False +1 -0
  142. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-True-False-False-True +1 -0
  143. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-True-False-True-False +1 -0
  144. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-True-False-True-True +1 -0
  145. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-True-True-False-False +1 -0
  146. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-True-True-False-True +1 -0
  147. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-True-True-True-False +1 -0
  148. densitty-1.0.0/tests/goldens/test_axes-False-(-1-2)-ext-True-True-True-True +1 -0
  149. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-False-False-False-False +1 -0
  150. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-False-False-False-True +1 -0
  151. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-False-False-True-False +1 -0
  152. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-False-False-True-True +1 -0
  153. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-False-True-False-False +1 -0
  154. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-False-True-False-True +1 -0
  155. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-False-True-True-False +1 -0
  156. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-False-True-True-True +1 -0
  157. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-True-False-False-False +1 -0
  158. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-True-False-False-True +1 -0
  159. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-True-False-True-False +1 -0
  160. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-True-False-True-True +1 -0
  161. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-True-True-False-False +1 -0
  162. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-True-True-False-True +1 -0
  163. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-True-True-True-False +1 -0
  164. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0)-ext-True-True-True-True +1 -0
  165. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-False-False-False +1 -0
  166. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-False-False-True +1 -0
  167. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-False-True-False +1 -0
  168. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-False-True-True +1 -0
  169. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-True-False-False +1 -0
  170. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-True-False-True +1 -0
  171. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-True-True-False +1 -0
  172. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-True-True-True +1 -0
  173. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-False-False-False +1 -0
  174. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-False-False-True +1 -0
  175. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-False-True-False +1 -0
  176. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-False-True-True +1 -0
  177. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-True-False-False +1 -0
  178. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-True-False-True +1 -0
  179. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-True-True-False +1 -0
  180. densitty-1.0.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-True-True-True +1 -0
  181. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-False-False-False-False +1 -0
  182. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-False-False-False-True +1 -0
  183. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-False-False-True-False +1 -0
  184. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-False-False-True-True +1 -0
  185. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-False-True-False-False +1 -0
  186. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-False-True-False-True +1 -0
  187. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-False-True-True-False +1 -0
  188. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-False-True-True-True +1 -0
  189. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-True-False-False-False +1 -0
  190. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-True-False-False-True +1 -0
  191. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-True-False-True-False +1 -0
  192. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-True-False-True-True +1 -0
  193. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-True-True-False-False +1 -0
  194. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-True-True-False-True +1 -0
  195. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-True-True-True-False +1 -0
  196. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1)-ext-True-True-True-True +1 -0
  197. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-False-False-False +1 -0
  198. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-False-False-True +1 -0
  199. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-False-True-False +1 -0
  200. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-False-True-True +1 -0
  201. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-True-False-False +1 -0
  202. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-True-False-True +1 -0
  203. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-True-True-False +1 -0
  204. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-True-True-True +1 -0
  205. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-False-False-False +1 -0
  206. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-False-False-True +1 -0
  207. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-False-True-False +1 -0
  208. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-False-True-True +1 -0
  209. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-True-False-False +1 -0
  210. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-True-False-True +1 -0
  211. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-True-True-False +1 -0
  212. densitty-1.0.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-True-True-True +1 -0
  213. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-False-False-False-False +1 -0
  214. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-False-False-False-True +1 -0
  215. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-False-False-True-False +1 -0
  216. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-False-False-True-True +1 -0
  217. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-False-True-False-False +1 -0
  218. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-False-True-False-True +1 -0
  219. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-False-True-True-False +1 -0
  220. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-False-True-True-True +1 -0
  221. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-True-False-False-False +1 -0
  222. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-True-False-False-True +1 -0
  223. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-True-False-True-False +1 -0
  224. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-True-False-True-True +1 -0
  225. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-True-True-False-False +1 -0
  226. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-True-True-False-True +1 -0
  227. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-True-True-True-False +1 -0
  228. densitty-1.0.0/tests/goldens/test_axes-True-(-1-2)-ext-True-True-True-True +1 -0
  229. densitty-1.0.0/tests/goldens/test_axes_1 +1 -0
  230. densitty-1.0.0/tests/goldens/test_axes_2 +1 -0
  231. densitty-1.0.0/tests/goldens/test_axes_3 +1 -0
  232. densitty-1.0.0/tests/goldens/test_axes_ascii-False-False-False-False +1 -0
  233. densitty-1.0.0/tests/goldens/test_axes_ascii-False-False-False-True +1 -0
  234. densitty-1.0.0/tests/goldens/test_axes_ascii-False-False-True-False +1 -0
  235. densitty-1.0.0/tests/goldens/test_axes_ascii-False-False-True-True +1 -0
  236. densitty-1.0.0/tests/goldens/test_axes_ascii-False-True-False-False +1 -0
  237. densitty-1.0.0/tests/goldens/test_axes_ascii-False-True-False-True +1 -0
  238. densitty-1.0.0/tests/goldens/test_axes_ascii-False-True-True-False +1 -0
  239. densitty-1.0.0/tests/goldens/test_axes_ascii-False-True-True-True +1 -0
  240. densitty-1.0.0/tests/goldens/test_axes_ascii-True-False-False-False +1 -0
  241. densitty-1.0.0/tests/goldens/test_axes_ascii-True-False-False-True +1 -0
  242. densitty-1.0.0/tests/goldens/test_axes_ascii-True-False-True-False +1 -0
  243. densitty-1.0.0/tests/goldens/test_axes_ascii-True-False-True-True +1 -0
  244. densitty-1.0.0/tests/goldens/test_axes_ascii-True-True-False-False +1 -0
  245. densitty-1.0.0/tests/goldens/test_axes_ascii-True-True-False-True +1 -0
  246. densitty-1.0.0/tests/goldens/test_axes_ascii-True-True-True-False +1 -0
  247. densitty-1.0.0/tests/goldens/test_axes_ascii-True-True-True-True +1 -0
  248. densitty-1.0.0/tests/goldens/test_bin_data_3 +1 -0
  249. densitty-1.0.0/tests/goldens/test_bin_data_unaligned +1 -0
  250. densitty-1.0.0/tests/goldens/test_binning_simple_1 +1 -0
  251. densitty-1.0.0/tests/goldens/test_bins_and_bin_size_aligned +1 -0
  252. densitty-1.0.0/tests/goldens/test_bins_and_bin_size_fractional +1 -0
  253. densitty-1.0.0/tests/goldens/test_bins_and_bin_size_tuples +1 -0
  254. densitty-1.0.0/tests/goldens/test_bins_and_bin_size_unaligned +1 -0
  255. densitty-1.0.0/tests/goldens/test_border_nonhist_toscreen +1 -0
  256. densitty-1.0.0/tests/goldens/test_colorbar_basic +1 -0
  257. densitty-1.0.0/tests/goldens/test_colorbar_infer_limits +1 -0
  258. densitty-1.0.0/tests/goldens/test_colorbar_label_format +1 -0
  259. densitty-1.0.0/tests/goldens/test_colorbar_narrow +1 -0
  260. densitty-1.0.0/tests/goldens/test_colorbar_vertical_basic +1 -0
  261. densitty-1.0.0/tests/goldens/test_colorbar_vertical_label_format +1 -0
  262. densitty-1.0.0/tests/goldens/test_colorbar_vertical_short +1 -0
  263. densitty-1.0.0/tests/goldens/test_densityplot2d_1 +1 -0
  264. densitty-1.0.0/tests/goldens/test_densityplot2d_2 +1 -0
  265. densitty-1.0.0/tests/goldens/test_densityplot2d_3 +1 -0
  266. densitty-1.0.0/tests/goldens/test_densityplot2d_4 +1 -0
  267. densitty-1.0.0/tests/goldens/test_detect_plot +1 -0
  268. densitty-1.0.0/tests/goldens/test_detect_plot_with_bar +1 -0
  269. densitty-1.0.0/tests/goldens/test_grid_heatmap +1 -0
  270. densitty-1.0.0/tests/goldens/test_grid_heatmap_custom_cell_size +1 -0
  271. densitty-1.0.0/tests/goldens/test_histplot2d_1 +1 -0
  272. densitty-1.0.0/tests/goldens/test_left_margin_halfheight +1 -0
  273. densitty-1.0.0/tests/goldens/test_left_margin_non_halfheight +1 -0
  274. densitty-1.0.0/tests/goldens/test_left_margin_with_border +1 -0
  275. densitty-1.0.0/tests/goldens/test_maxsize_fitscreen +1 -0
  276. densitty-1.0.0/tests/goldens/test_maxsize_keepaspect +1 -0
  277. densitty-1.0.0/tests/goldens/test_maxsize_reservemargin +1 -0
  278. densitty-1.0.0/tests/goldens/test_maxsize_set_default_size +1 -0
  279. densitty-1.0.0/tests/goldens/test_simple_hist_toscreen +1 -0
  280. densitty-1.0.0/tests/goldens/test_upscale_with_glued_on_plot +1 -0
  281. densitty-1.0.0/tests/goldens/test_upscale_with_glued_on_plot_fixed_size +1 -0
  282. densitty-1.0.0/tests/goldens/x_axis_105_1.68750941E-8_0.796975597_0 +1 -0
  283. densitty-1.0.0/tests/goldens/x_axis_105_1.68750941E-8_0.796975597_1 +1 -0
  284. densitty-1.0.0/tests/goldens/x_axis_105_5.09236527E-8_9.66938005_0 +1 -0
  285. densitty-1.0.0/tests/goldens/x_axis_105_5.09236527E-8_9.66938005_1 +1 -0
  286. densitty-1.0.0/tests/goldens/x_axis_109_-6.81808565E-9_5.14837567E-8_0 +1 -0
  287. densitty-1.0.0/tests/goldens/x_axis_109_-6.81808565E-9_5.14837567E-8_1 +1 -0
  288. densitty-1.0.0/tests/goldens/x_axis_111_-4.93860860E-9_1.38921000E-7_0 +1 -0
  289. densitty-1.0.0/tests/goldens/x_axis_111_-4.93860860E-9_1.38921000E-7_1 +1 -0
  290. densitty-1.0.0/tests/goldens/x_axis_113_-504327.128_-504326.751_0 +1 -0
  291. densitty-1.0.0/tests/goldens/x_axis_113_-504327.128_-504326.751_1 +1 -0
  292. densitty-1.0.0/tests/goldens/x_axis_116_-1.50971589E-7_0.0105108249_0 +1 -0
  293. densitty-1.0.0/tests/goldens/x_axis_116_-1.50971589E-7_0.0105108249_1 +1 -0
  294. densitty-1.0.0/tests/goldens/x_axis_118_2.20802474E-10_6.52519242E-10_0 +1 -0
  295. densitty-1.0.0/tests/goldens/x_axis_118_2.20802474E-10_6.52519242E-10_1 +1 -0
  296. densitty-1.0.0/tests/goldens/x_axis_119_0.00198534542_0.00198534573_0 +1 -0
  297. densitty-1.0.0/tests/goldens/x_axis_119_0.00198534542_0.00198534573_1 +1 -0
  298. densitty-1.0.0/tests/goldens/x_axis_135_1.22598302E-8_8.04329142E-8_0 +1 -0
  299. densitty-1.0.0/tests/goldens/x_axis_135_1.22598302E-8_8.04329142E-8_1 +1 -0
  300. densitty-1.0.0/tests/goldens/x_axis_141_3.41218635E-9_0.000593451723_0 +1 -0
  301. densitty-1.0.0/tests/goldens/x_axis_141_3.41218635E-9_0.000593451723_1 +1 -0
  302. densitty-1.0.0/tests/goldens/x_axis_164_33859.0360_33859.0944_0 +1 -0
  303. densitty-1.0.0/tests/goldens/x_axis_164_33859.0360_33859.0944_1 +1 -0
  304. densitty-1.0.0/tests/goldens/x_axis_169_25.1180938_31.9108379_0 +1 -0
  305. densitty-1.0.0/tests/goldens/x_axis_169_25.1180938_31.9108379_1 +1 -0
  306. densitty-1.0.0/tests/goldens/x_axis_180_-1358.72046_-1358.71997_0 +1 -0
  307. densitty-1.0.0/tests/goldens/x_axis_180_-1358.72046_-1358.71997_1 +1 -0
  308. densitty-1.0.0/tests/goldens/x_axis_188_0.000735951891_0.000743931104_0 +1 -0
  309. densitty-1.0.0/tests/goldens/x_axis_188_0.000735951891_0.000743931104_1 +1 -0
  310. densitty-1.0.0/tests/goldens/x_axis_189_3.52864510_3.52875891_0 +1 -0
  311. densitty-1.0.0/tests/goldens/x_axis_189_3.52864510_3.52875891_1 +1 -0
  312. densitty-1.0.0/tests/goldens/x_axis_190_2.22673610E-7_0.00903559932_0 +1 -0
  313. densitty-1.0.0/tests/goldens/x_axis_190_2.22673610E-7_0.00903559932_1 +1 -0
  314. densitty-1.0.0/tests/goldens/x_axis_191_0.000194623302_3.75022510_0 +1 -0
  315. densitty-1.0.0/tests/goldens/x_axis_36_-0.143016182_-0.121454748_0 +1 -0
  316. densitty-1.0.0/tests/goldens/x_axis_36_-0.143016182_-0.121454748_1 +1 -0
  317. densitty-1.0.0/tests/goldens/x_axis_37_-2.02514159E-9_0.0449531366_0 +1 -0
  318. densitty-1.0.0/tests/goldens/x_axis_37_-2.02514159E-9_0.0449531366_1 +1 -0
  319. densitty-1.0.0/tests/goldens/x_axis_48_-5.73379077E-7_0.0000146411803_0 +1 -0
  320. densitty-1.0.0/tests/goldens/x_axis_48_-5.73379077E-7_0.0000146411803_1 +1 -0
  321. densitty-1.0.0/tests/goldens/x_axis_5_100000_200000_0 +1 -0
  322. densitty-1.0.0/tests/goldens/x_axis_68_-64.8155821_-64.8153334_0 +1 -0
  323. densitty-1.0.0/tests/goldens/x_axis_68_-64.8155821_-64.8153334_1 +1 -0
  324. densitty-1.0.0/tests/goldens/x_axis_78_-0.0000147372573_-0.0000147370017_0 +1 -0
  325. densitty-1.0.0/tests/goldens/x_axis_78_-0.0000147372573_-0.0000147370017_1 +1 -0
  326. densitty-1.0.0/tests/goldens/x_axis_80_-0.000259728201_6.72258436_0 +1 -0
  327. densitty-1.0.0/tests/goldens/x_axis_80_-0.000259728201_6.72258436_1 +1 -0
  328. densitty-1.0.0/tests/goldens/x_axis_88_-4.62043384E-9_0.00645016333_0 +1 -0
  329. densitty-1.0.0/tests/goldens/x_axis_88_-4.62043384E-9_0.00645016333_1 +1 -0
  330. densitty-1.0.0/tests/goldens/x_axis_89_0.00230228979_0.00230229174_0 +1 -0
  331. densitty-1.0.0/tests/goldens/x_axis_89_0.00230228979_0.00230229174_1 +1 -0
  332. densitty-1.0.0/tests/goldens/x_axis_89_8.49639722E-8_8.81452078E-8_0 +1 -0
  333. densitty-1.0.0/tests/goldens/x_axis_89_8.49639722E-8_8.81452078E-8_1 +1 -0
  334. densitty-1.0.0/tests/goldens/x_axis_91_-5.88268935_-5.88264807_0 +1 -0
  335. densitty-1.0.0/tests/goldens/x_axis_91_-5.88268935_-5.88264807_1 +1 -0
  336. densitty-1.0.0/tests/goldens/y_axis_105_1.68750941E-8_0.796975597 +1 -0
  337. densitty-1.0.0/tests/goldens/y_axis_105_5.09236527E-8_9.66938005 +1 -0
  338. densitty-1.0.0/tests/goldens/y_axis_109_-6.81808565E-9_5.14837567E-8 +1 -0
  339. densitty-1.0.0/tests/goldens/y_axis_111_-4.93860860E-9_1.38921000E-7 +1 -0
  340. densitty-1.0.0/tests/goldens/y_axis_116_-1.50971589E-7_0.0105108249 +1 -0
  341. densitty-1.0.0/tests/goldens/y_axis_11_1.96692248E-8_0.00820748193 +1 -0
  342. densitty-1.0.0/tests/goldens/y_axis_135_1.22598302E-8_8.04329142E-8 +1 -0
  343. densitty-1.0.0/tests/goldens/y_axis_143_2.69365458E-7_1.93715817 +1 -0
  344. densitty-1.0.0/tests/goldens/y_axis_153_-0.114808950_-0.114672276 +1 -0
  345. densitty-1.0.0/tests/goldens/y_axis_154_-187.732088_-187.730832 +1 -0
  346. densitty-1.0.0/tests/goldens/y_axis_158_-1234211.79_-1234211.70 +1 -0
  347. densitty-1.0.0/tests/goldens/y_axis_176_98529298.9_98529299.0 +1 -0
  348. densitty-1.0.0/tests/goldens/y_axis_189_3.52864510_3.52875891 +1 -0
  349. densitty-1.0.0/tests/goldens/y_axis_191_0.000194623302_3.75022510 +1 -0
  350. densitty-1.0.0/tests/goldens/y_axis_36_-0.143016182_-0.121454748 +1 -0
  351. densitty-1.0.0/tests/goldens/y_axis_37_-2.02514159E-9_0.0449531366 +1 -0
  352. densitty-1.0.0/tests/goldens/y_axis_39_-0.000161165673_-0.000160874037 +1 -0
  353. densitty-1.0.0/tests/goldens/y_axis_46_-0.00000321721634_-0.00000321459619 +1 -0
  354. densitty-1.0.0/tests/goldens/y_axis_46_0.00000291015154_0.733200207 +1 -0
  355. densitty-1.0.0/tests/goldens/y_axis_48_-5.73379077E-7_0.0000146411803 +1 -0
  356. densitty-1.0.0/tests/goldens/y_axis_48_7.83507705_7.83514258 +1 -0
  357. densitty-1.0.0/tests/goldens/y_axis_53_0.499461762_0.499470226 +1 -0
  358. densitty-1.0.0/tests/goldens/y_axis_76_100.966337_100.966349 +1 -0
  359. densitty-1.0.0/tests/goldens/y_axis_80_-0.000259728201_6.72258436 +1 -0
  360. densitty-1.0.0/tests/goldens/y_axis_86_9.56108668E-9_0.0000741047291 +1 -0
  361. densitty-1.0.0/tests/goldens/y_axis_88_-4.62043384E-9_0.00645016333 +1 -0
  362. densitty-1.0.0/tests/goldens/y_axis_89_0.00230228979_0.00230229174 +1 -0
  363. densitty-1.0.0/tests/goldens/y_axis_8_-16602642.5_-16601902.4 +1 -0
  364. densitty-1.0.0/tests/goldens/y_axis_8_0.850889413_38.8443390 +1 -0
  365. densitty-1.0.0/tests/goldens/y_axis_9_-0.0000214145534_6521844.58 +1 -0
  366. densitty-1.0.0/tests/goldens/y_axis_9_0.124174552_7.78910615 +1 -0
  367. densitty-1.0.0/tests/helper_tests.py +117 -0
  368. densitty-1.0.0/tests/label_tests.py +138 -0
  369. densitty-1.0.0/tests/lineart_tests.py +127 -0
  370. densitty-1.0.0/tests/numpy_tests.py +33 -0
  371. densitty-1.0.0/tests/scale_tests.py +190 -0
  372. densitty-1.0.0/tests/smoothing_tests.py +94 -0
  373. densitty-1.0.0/tests/util_tests.py +38 -0
  374. densitty-0.9.0/Makefile +0 -70
  375. densitty-0.9.0/PKG-INFO +0 -39
  376. densitty-0.9.0/README.md +0 -14
  377. densitty-0.9.0/densitty/__init__.py +0 -0
  378. densitty-0.9.0/densitty/ansi.py +0 -109
  379. densitty-0.9.0/densitty/axis.py +0 -402
  380. densitty-0.9.0/densitty/binning.py +0 -311
  381. densitty-0.9.0/densitty/detect.py +0 -525
  382. densitty-0.9.0/densitty/plot.py +0 -209
  383. densitty-0.9.0/densitty/smoothing.py +0 -317
  384. densitty-0.9.0/densitty/util.py +0 -236
  385. densitty-0.9.0/densitty/util.pyi +0 -37
  386. densitty-0.9.0/densitty.egg-info/PKG-INFO +0 -39
  387. densitty-0.9.0/densitty.egg-info/SOURCES.txt +0 -651
  388. densitty-0.9.0/docs/api.md +0 -213
  389. densitty-0.9.0/docs/examples.md +0 -68
  390. densitty-0.9.0/docs/eyeplot.png +0 -0
  391. densitty-0.9.0/docs/hist2d-axes.png +0 -0
  392. densitty-0.9.0/docs/hist2d-basic.png +0 -0
  393. densitty-0.9.0/docs/hist2d-finer-color-borderline.png +0 -0
  394. densitty-0.9.0/docs/hist2d-helper.png +0 -0
  395. densitty-0.9.0/docs/hist2d-scaled.png +0 -0
  396. densitty-0.9.0/docs/inline-histplot2d.png +0 -0
  397. densitty-0.9.0/docs/terminal_support.md +0 -50
  398. densitty-0.9.0/docs/usage.md +0 -38
  399. densitty-0.9.0/examples/colormaps.py +0 -66
  400. densitty-0.9.0/examples/eye_plot.py +0 -46
  401. densitty-0.9.0/examples/run_examples.py +0 -70
  402. densitty-0.9.0/pyproject.toml +0 -62
  403. densitty-0.9.0/tests/axis_tests.py +0 -243
  404. densitty-0.9.0/tests/binning_tests.py +0 -169
  405. densitty-0.9.0/tests/color_tests.py +0 -132
  406. densitty-0.9.0/tests/golden.py +0 -45
  407. densitty-0.9.0/tests/goldens/simple_glyph_ascii +0 -1
  408. densitty-0.9.0/tests/goldens/simple_glyph_basic +0 -1
  409. densitty-0.9.0/tests/goldens/simple_glyph_extended +0 -1
  410. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-False-False-False-False +0 -1
  411. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-False-False-False-True +0 -1
  412. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-False-False-True-False +0 -1
  413. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-False-False-True-True +0 -1
  414. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-False-True-False-False +0 -1
  415. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-False-True-False-True +0 -1
  416. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-False-True-True-False +0 -1
  417. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-False-True-True-True +0 -1
  418. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-True-False-False-False +0 -1
  419. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-True-False-False-True +0 -1
  420. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-True-False-True-False +0 -1
  421. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-True-False-True-True +0 -1
  422. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-True-True-False-False +0 -1
  423. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-True-True-False-True +0 -1
  424. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-True-True-True-False +0 -1
  425. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0)-ext-True-True-True-True +0 -1
  426. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-False-False-False +0 -1
  427. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-False-False-True +0 -1
  428. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-False-True-False +0 -1
  429. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-False-True-True +0 -1
  430. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-True-False-False +0 -1
  431. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-True-False-True +0 -1
  432. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-True-True-False +0 -1
  433. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-False-True-True-True +0 -1
  434. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-False-False-False +0 -1
  435. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-False-False-True +0 -1
  436. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-False-True-False +0 -1
  437. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-False-True-True +0 -1
  438. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-True-False-False +0 -1
  439. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-True-False-True +0 -1
  440. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-True-True-False +0 -1
  441. densitty-0.9.0/tests/goldens/test_axes-False-(-1-0.100000000)-ext-True-True-True-True +0 -1
  442. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-False-False-False-False +0 -1
  443. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-False-False-False-True +0 -1
  444. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-False-False-True-False +0 -1
  445. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-False-False-True-True +0 -1
  446. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-False-True-False-False +0 -1
  447. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-False-True-False-True +0 -1
  448. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-False-True-True-False +0 -1
  449. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-False-True-True-True +0 -1
  450. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-True-False-False-False +0 -1
  451. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-True-False-False-True +0 -1
  452. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-True-False-True-False +0 -1
  453. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-True-False-True-True +0 -1
  454. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-True-True-False-False +0 -1
  455. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-True-True-False-True +0 -1
  456. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-True-True-True-False +0 -1
  457. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1)-ext-True-True-True-True +0 -1
  458. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-False-False-False +0 -1
  459. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-False-False-True +0 -1
  460. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-False-True-False +0 -1
  461. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-False-True-True +0 -1
  462. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-True-False-False +0 -1
  463. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-True-False-True +0 -1
  464. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-True-True-False +0 -1
  465. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-False-True-True-True +0 -1
  466. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-False-False-False +0 -1
  467. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-False-False-True +0 -1
  468. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-False-True-False +0 -1
  469. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-False-True-True +0 -1
  470. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-True-False-False +0 -1
  471. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-True-False-True +0 -1
  472. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-True-True-False +0 -1
  473. densitty-0.9.0/tests/goldens/test_axes-False-(-1-1.5)-ext-True-True-True-True +0 -1
  474. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-False-False-False-False +0 -1
  475. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-False-False-False-True +0 -1
  476. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-False-False-True-False +0 -1
  477. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-False-False-True-True +0 -1
  478. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-False-True-False-False +0 -1
  479. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-False-True-False-True +0 -1
  480. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-False-True-True-False +0 -1
  481. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-False-True-True-True +0 -1
  482. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-True-False-False-False +0 -1
  483. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-True-False-False-True +0 -1
  484. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-True-False-True-False +0 -1
  485. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-True-False-True-True +0 -1
  486. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-True-True-False-False +0 -1
  487. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-True-True-False-True +0 -1
  488. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-True-True-True-False +0 -1
  489. densitty-0.9.0/tests/goldens/test_axes-False-(-1-10)-ext-True-True-True-True +0 -1
  490. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-False-False-False-False +0 -1
  491. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-False-False-False-True +0 -1
  492. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-False-False-True-False +0 -1
  493. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-False-False-True-True +0 -1
  494. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-False-True-False-False +0 -1
  495. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-False-True-False-True +0 -1
  496. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-False-True-True-False +0 -1
  497. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-False-True-True-True +0 -1
  498. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-True-False-False-False +0 -1
  499. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-True-False-False-True +0 -1
  500. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-True-False-True-False +0 -1
  501. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-True-False-True-True +0 -1
  502. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-True-True-False-False +0 -1
  503. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-True-True-False-True +0 -1
  504. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-True-True-True-False +0 -1
  505. densitty-0.9.0/tests/goldens/test_axes-False-(-1-2)-ext-True-True-True-True +0 -1
  506. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-False-False-False-False +0 -1
  507. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-False-False-False-True +0 -1
  508. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-False-False-True-False +0 -1
  509. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-False-False-True-True +0 -1
  510. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-False-True-False-False +0 -1
  511. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-False-True-False-True +0 -1
  512. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-False-True-True-False +0 -1
  513. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-False-True-True-True +0 -1
  514. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-True-False-False-False +0 -1
  515. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-True-False-False-True +0 -1
  516. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-True-False-True-False +0 -1
  517. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-True-False-True-True +0 -1
  518. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-True-True-False-False +0 -1
  519. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-True-True-False-True +0 -1
  520. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-True-True-True-False +0 -1
  521. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0)-ext-True-True-True-True +0 -1
  522. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-False-False-False +0 -1
  523. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-False-False-True +0 -1
  524. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-False-True-False +0 -1
  525. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-False-True-True +0 -1
  526. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-True-False-False +0 -1
  527. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-True-False-True +0 -1
  528. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-True-True-False +0 -1
  529. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-False-True-True-True +0 -1
  530. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-False-False-False +0 -1
  531. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-False-False-True +0 -1
  532. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-False-True-False +0 -1
  533. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-False-True-True +0 -1
  534. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-True-False-False +0 -1
  535. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-True-False-True +0 -1
  536. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-True-True-False +0 -1
  537. densitty-0.9.0/tests/goldens/test_axes-True-(-1-0.100000000)-ext-True-True-True-True +0 -1
  538. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-False-False-False-False +0 -1
  539. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-False-False-False-True +0 -1
  540. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-False-False-True-False +0 -1
  541. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-False-False-True-True +0 -1
  542. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-False-True-False-False +0 -1
  543. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-False-True-False-True +0 -1
  544. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-False-True-True-False +0 -1
  545. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-False-True-True-True +0 -1
  546. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-True-False-False-False +0 -1
  547. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-True-False-False-True +0 -1
  548. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-True-False-True-False +0 -1
  549. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-True-False-True-True +0 -1
  550. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-True-True-False-False +0 -1
  551. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-True-True-False-True +0 -1
  552. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-True-True-True-False +0 -1
  553. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1)-ext-True-True-True-True +0 -1
  554. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-False-False-False +0 -1
  555. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-False-False-True +0 -1
  556. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-False-True-False +0 -1
  557. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-False-True-True +0 -1
  558. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-True-False-False +0 -1
  559. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-True-False-True +0 -1
  560. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-True-True-False +0 -1
  561. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-False-True-True-True +0 -1
  562. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-False-False-False +0 -1
  563. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-False-False-True +0 -1
  564. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-False-True-False +0 -1
  565. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-False-True-True +0 -1
  566. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-True-False-False +0 -1
  567. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-True-False-True +0 -1
  568. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-True-True-False +0 -1
  569. densitty-0.9.0/tests/goldens/test_axes-True-(-1-1.5)-ext-True-True-True-True +0 -1
  570. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-False-False-False-False +0 -1
  571. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-False-False-False-True +0 -1
  572. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-False-False-True-False +0 -1
  573. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-False-False-True-True +0 -1
  574. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-False-True-False-False +0 -1
  575. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-False-True-False-True +0 -1
  576. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-False-True-True-False +0 -1
  577. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-False-True-True-True +0 -1
  578. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-True-False-False-False +0 -1
  579. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-True-False-False-True +0 -1
  580. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-True-False-True-False +0 -1
  581. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-True-False-True-True +0 -1
  582. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-True-True-False-False +0 -1
  583. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-True-True-False-True +0 -1
  584. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-True-True-True-False +0 -1
  585. densitty-0.9.0/tests/goldens/test_axes-True-(-1-2)-ext-True-True-True-True +0 -1
  586. densitty-0.9.0/tests/goldens/test_axes_1 +0 -1
  587. densitty-0.9.0/tests/goldens/test_axes_2 +0 -1
  588. densitty-0.9.0/tests/goldens/test_axes_3 +0 -1
  589. densitty-0.9.0/tests/goldens/test_axes_ascii-False-False-False-False +0 -1
  590. densitty-0.9.0/tests/goldens/test_axes_ascii-False-False-False-True +0 -1
  591. densitty-0.9.0/tests/goldens/test_axes_ascii-False-False-True-False +0 -1
  592. densitty-0.9.0/tests/goldens/test_axes_ascii-False-False-True-True +0 -1
  593. densitty-0.9.0/tests/goldens/test_axes_ascii-False-True-False-False +0 -1
  594. densitty-0.9.0/tests/goldens/test_axes_ascii-False-True-False-True +0 -1
  595. densitty-0.9.0/tests/goldens/test_axes_ascii-False-True-True-False +0 -1
  596. densitty-0.9.0/tests/goldens/test_axes_ascii-False-True-True-True +0 -1
  597. densitty-0.9.0/tests/goldens/test_axes_ascii-True-False-False-False +0 -1
  598. densitty-0.9.0/tests/goldens/test_axes_ascii-True-False-False-True +0 -1
  599. densitty-0.9.0/tests/goldens/test_axes_ascii-True-False-True-False +0 -1
  600. densitty-0.9.0/tests/goldens/test_axes_ascii-True-False-True-True +0 -1
  601. densitty-0.9.0/tests/goldens/test_axes_ascii-True-True-False-False +0 -1
  602. densitty-0.9.0/tests/goldens/test_axes_ascii-True-True-False-True +0 -1
  603. densitty-0.9.0/tests/goldens/test_axes_ascii-True-True-True-False +0 -1
  604. densitty-0.9.0/tests/goldens/test_axes_ascii-True-True-True-True +0 -1
  605. densitty-0.9.0/tests/goldens/test_bin_data_2 +0 -1
  606. densitty-0.9.0/tests/goldens/test_bin_data_3 +0 -1
  607. densitty-0.9.0/tests/goldens/test_bin_data_unaligned +0 -1
  608. densitty-0.9.0/tests/goldens/test_border_nonhist_toscreen +0 -1
  609. densitty-0.9.0/tests/goldens/test_histplot2d_1 +0 -1
  610. densitty-0.9.0/tests/goldens/test_maxsize_fitscreen +0 -1
  611. densitty-0.9.0/tests/goldens/test_maxsize_keepaspect +0 -1
  612. densitty-0.9.0/tests/goldens/test_maxsize_reservemargin +0 -1
  613. densitty-0.9.0/tests/goldens/test_maxsize_set_default_size +0 -1
  614. densitty-0.9.0/tests/goldens/test_simple_hist_toscreen +0 -1
  615. densitty-0.9.0/tests/goldens/x_axis_105_1.68750941E-8_0.796975597_0 +0 -1
  616. densitty-0.9.0/tests/goldens/x_axis_105_1.68750941E-8_0.796975597_1 +0 -1
  617. densitty-0.9.0/tests/goldens/x_axis_105_5.09236527E-8_9.66938005_0 +0 -1
  618. densitty-0.9.0/tests/goldens/x_axis_105_5.09236527E-8_9.66938005_1 +0 -1
  619. densitty-0.9.0/tests/goldens/x_axis_109_-6.81808565E-9_5.14837567E-8_0 +0 -1
  620. densitty-0.9.0/tests/goldens/x_axis_109_-6.81808565E-9_5.14837567E-8_1 +0 -1
  621. densitty-0.9.0/tests/goldens/x_axis_111_-4.93860860E-9_1.38921000E-7_0 +0 -1
  622. densitty-0.9.0/tests/goldens/x_axis_111_-4.93860860E-9_1.38921000E-7_1 +0 -1
  623. densitty-0.9.0/tests/goldens/x_axis_113_-504327.128_-504326.751_0 +0 -1
  624. densitty-0.9.0/tests/goldens/x_axis_113_-504327.128_-504326.751_1 +0 -1
  625. densitty-0.9.0/tests/goldens/x_axis_116_-1.50971589E-7_0.0105108249_0 +0 -1
  626. densitty-0.9.0/tests/goldens/x_axis_116_-1.50971589E-7_0.0105108249_1 +0 -1
  627. densitty-0.9.0/tests/goldens/x_axis_118_2.20802474E-10_6.52519242E-10_0 +0 -1
  628. densitty-0.9.0/tests/goldens/x_axis_118_2.20802474E-10_6.52519242E-10_1 +0 -1
  629. densitty-0.9.0/tests/goldens/x_axis_119_0.00198534542_0.00198534573_0 +0 -1
  630. densitty-0.9.0/tests/goldens/x_axis_119_0.00198534542_0.00198534573_1 +0 -1
  631. densitty-0.9.0/tests/goldens/x_axis_135_1.22598302E-8_8.04329142E-8_0 +0 -1
  632. densitty-0.9.0/tests/goldens/x_axis_135_1.22598302E-8_8.04329142E-8_1 +0 -1
  633. densitty-0.9.0/tests/goldens/x_axis_141_3.41218635E-9_0.000593451723_0 +0 -1
  634. densitty-0.9.0/tests/goldens/x_axis_141_3.41218635E-9_0.000593451723_1 +0 -1
  635. densitty-0.9.0/tests/goldens/x_axis_164_33859.0360_33859.0944_0 +0 -1
  636. densitty-0.9.0/tests/goldens/x_axis_164_33859.0360_33859.0944_1 +0 -1
  637. densitty-0.9.0/tests/goldens/x_axis_169_25.1180938_31.9108379_0 +0 -1
  638. densitty-0.9.0/tests/goldens/x_axis_169_25.1180938_31.9108379_1 +0 -1
  639. densitty-0.9.0/tests/goldens/x_axis_180_-1358.72046_-1358.71997_0 +0 -1
  640. densitty-0.9.0/tests/goldens/x_axis_180_-1358.72046_-1358.71997_1 +0 -1
  641. densitty-0.9.0/tests/goldens/x_axis_188_0.000735951891_0.000743931104_0 +0 -1
  642. densitty-0.9.0/tests/goldens/x_axis_188_0.000735951891_0.000743931104_1 +0 -1
  643. densitty-0.9.0/tests/goldens/x_axis_189_3.52864510_3.52875891_0 +0 -1
  644. densitty-0.9.0/tests/goldens/x_axis_189_3.52864510_3.52875891_1 +0 -1
  645. densitty-0.9.0/tests/goldens/x_axis_190_2.22673610E-7_0.00903559932_0 +0 -1
  646. densitty-0.9.0/tests/goldens/x_axis_190_2.22673610E-7_0.00903559932_1 +0 -1
  647. densitty-0.9.0/tests/goldens/x_axis_191_0.000194623302_3.75022510_0 +0 -1
  648. densitty-0.9.0/tests/goldens/x_axis_36_-0.143016182_-0.121454748_0 +0 -1
  649. densitty-0.9.0/tests/goldens/x_axis_36_-0.143016182_-0.121454748_1 +0 -1
  650. densitty-0.9.0/tests/goldens/x_axis_37_-2.02514159E-9_0.0449531366_0 +0 -1
  651. densitty-0.9.0/tests/goldens/x_axis_37_-2.02514159E-9_0.0449531366_1 +0 -1
  652. densitty-0.9.0/tests/goldens/x_axis_48_-5.73379077E-7_0.0000146411803_0 +0 -1
  653. densitty-0.9.0/tests/goldens/x_axis_48_-5.73379077E-7_0.0000146411803_1 +0 -1
  654. densitty-0.9.0/tests/goldens/x_axis_68_-64.8155821_-64.8153334_0 +0 -1
  655. densitty-0.9.0/tests/goldens/x_axis_68_-64.8155821_-64.8153334_1 +0 -1
  656. densitty-0.9.0/tests/goldens/x_axis_78_-0.0000147372573_-0.0000147370017_0 +0 -1
  657. densitty-0.9.0/tests/goldens/x_axis_78_-0.0000147372573_-0.0000147370017_1 +0 -1
  658. densitty-0.9.0/tests/goldens/x_axis_80_-0.000259728201_6.72258436_0 +0 -1
  659. densitty-0.9.0/tests/goldens/x_axis_80_-0.000259728201_6.72258436_1 +0 -1
  660. densitty-0.9.0/tests/goldens/x_axis_88_-4.62043384E-9_0.00645016333_0 +0 -1
  661. densitty-0.9.0/tests/goldens/x_axis_88_-4.62043384E-9_0.00645016333_1 +0 -1
  662. densitty-0.9.0/tests/goldens/x_axis_89_0.00230228979_0.00230229174_0 +0 -1
  663. densitty-0.9.0/tests/goldens/x_axis_89_0.00230228979_0.00230229174_1 +0 -1
  664. densitty-0.9.0/tests/goldens/x_axis_89_8.49639722E-8_8.81452078E-8_0 +0 -1
  665. densitty-0.9.0/tests/goldens/x_axis_89_8.49639722E-8_8.81452078E-8_1 +0 -1
  666. densitty-0.9.0/tests/goldens/x_axis_91_-5.88268935_-5.88264807_0 +0 -1
  667. densitty-0.9.0/tests/goldens/x_axis_91_-5.88268935_-5.88264807_1 +0 -1
  668. densitty-0.9.0/tests/goldens/y_axis_105_1.68750941E-8_0.796975597 +0 -1
  669. densitty-0.9.0/tests/goldens/y_axis_105_5.09236527E-8_9.66938005 +0 -1
  670. densitty-0.9.0/tests/goldens/y_axis_109_-6.81808565E-9_5.14837567E-8 +0 -1
  671. densitty-0.9.0/tests/goldens/y_axis_111_-4.93860860E-9_1.38921000E-7 +0 -1
  672. densitty-0.9.0/tests/goldens/y_axis_116_-1.50971589E-7_0.0105108249 +0 -1
  673. densitty-0.9.0/tests/goldens/y_axis_11_1.96692248E-8_0.00820748193 +0 -1
  674. densitty-0.9.0/tests/goldens/y_axis_135_1.22598302E-8_8.04329142E-8 +0 -1
  675. densitty-0.9.0/tests/goldens/y_axis_143_2.69365458E-7_1.93715817 +0 -1
  676. densitty-0.9.0/tests/goldens/y_axis_153_-0.114808950_-0.114672276 +0 -1
  677. densitty-0.9.0/tests/goldens/y_axis_154_-187.732088_-187.730832 +0 -1
  678. densitty-0.9.0/tests/goldens/y_axis_158_-1234211.79_-1234211.70 +0 -1
  679. densitty-0.9.0/tests/goldens/y_axis_176_98529298.9_98529299.0 +0 -1
  680. densitty-0.9.0/tests/goldens/y_axis_189_3.52864510_3.52875891 +0 -1
  681. densitty-0.9.0/tests/goldens/y_axis_191_0.000194623302_3.75022510 +0 -1
  682. densitty-0.9.0/tests/goldens/y_axis_36_-0.143016182_-0.121454748 +0 -1
  683. densitty-0.9.0/tests/goldens/y_axis_37_-2.02514159E-9_0.0449531366 +0 -1
  684. densitty-0.9.0/tests/goldens/y_axis_39_-0.000161165673_-0.000160874037 +0 -1
  685. densitty-0.9.0/tests/goldens/y_axis_46_-0.00000321721634_-0.00000321459619 +0 -1
  686. densitty-0.9.0/tests/goldens/y_axis_46_0.00000291015154_0.733200207 +0 -1
  687. densitty-0.9.0/tests/goldens/y_axis_48_-5.73379077E-7_0.0000146411803 +0 -1
  688. densitty-0.9.0/tests/goldens/y_axis_48_7.83507705_7.83514258 +0 -1
  689. densitty-0.9.0/tests/goldens/y_axis_53_0.499461762_0.499470226 +0 -1
  690. densitty-0.9.0/tests/goldens/y_axis_76_100.966337_100.966349 +0 -1
  691. densitty-0.9.0/tests/goldens/y_axis_80_-0.000259728201_6.72258436 +0 -1
  692. densitty-0.9.0/tests/goldens/y_axis_86_9.56108668E-9_0.0000741047291 +0 -1
  693. densitty-0.9.0/tests/goldens/y_axis_88_-4.62043384E-9_0.00645016333 +0 -1
  694. densitty-0.9.0/tests/goldens/y_axis_89_0.00230228979_0.00230229174 +0 -1
  695. densitty-0.9.0/tests/goldens/y_axis_8_-16602642.5_-16601902.4 +0 -1
  696. densitty-0.9.0/tests/goldens/y_axis_8_0.850889413_38.8443390 +0 -1
  697. densitty-0.9.0/tests/goldens/y_axis_9_-0.0000214145534_6521844.58 +0 -1
  698. densitty-0.9.0/tests/goldens/y_axis_9_0.124174552_7.78910615 +0 -1
  699. densitty-0.9.0/tests/helper_tests.py +0 -59
  700. densitty-0.9.0/tests/label_tests.py +0 -137
  701. densitty-0.9.0/tests/lineart_tests.py +0 -133
  702. densitty-0.9.0/tests/numpy_tests.py +0 -33
  703. densitty-0.9.0/tests/scale_tests.py +0 -140
  704. densitty-0.9.0/tests/smoothing_tests.py +0 -103
  705. densitty-0.9.0/tests/util_tests.py +0 -22
  706. {densitty-0.9.0 → densitty-1.0.0}/.github/workflows/checks.yml +0 -0
  707. {densitty-0.9.0 → densitty-1.0.0}/.github/workflows/periodic.yml +0 -0
  708. {densitty-0.9.0 → densitty-1.0.0}/.github/workflows/tests.yml +0 -0
  709. {densitty-0.9.0 → densitty-1.0.0}/.gitignore +0 -0
  710. {densitty-0.9.0 → densitty-1.0.0}/LICENSE +0 -0
  711. {densitty-0.9.0 → densitty-1.0.0}/densitty/ascii_art.py +0 -0
  712. {densitty-0.9.0 → densitty-1.0.0}/densitty/lineart.py +0 -0
  713. {densitty-0.9.0 → densitty-1.0.0}/densitty/truecolor.py +0 -0
  714. {densitty-0.9.0 → densitty-1.0.0}/densitty.egg-info/dependency_links.txt +0 -0
  715. {densitty-0.9.0 → densitty-1.0.0}/densitty.egg-info/top_level.txt +0 -0
  716. {densitty-0.9.0 → densitty-1.0.0}/docs/16-colors.png +0 -0
  717. {densitty-0.9.0 → densitty-1.0.0}/docs/256-colors.png +0 -0
  718. {densitty-0.9.0 → densitty-1.0.0}/docs/FAQ.md +0 -0
  719. {densitty-0.9.0 → densitty-1.0.0}/docs/ascii-art.png +0 -0
  720. {densitty-0.9.0 → densitty-1.0.0}/docs/rgb-colors.png +0 -0
  721. {densitty-0.9.0 → densitty-1.0.0}/setup.cfg +0 -0
  722. {densitty-0.9.0 → densitty-1.0.0}/tests/#lineart_tests.py# +0 -0
  723. {densitty-0.9.0 → densitty-1.0.0}/tests/convert_tests.py +0 -0
  724. {densitty-0.9.0 → densitty-1.0.0}/tests/detect_tests.py +0 -0
  725. {densitty-0.9.0 → densitty-1.0.0}/tests/gen_norm_data.py +0 -0
  726. {densitty-0.9.0 → densitty-1.0.0}/tests/golden_diff.py +0 -0
  727. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.BLUE_RED +0 -0
  728. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.BLUE_RED_halfheight +0 -0
  729. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.COOL +0 -0
  730. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.COOL_halfheight +0 -0
  731. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.FADE_IN +0 -0
  732. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.FADE_IN_16 +0 -0
  733. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.FADE_IN_16_halfheight +0 -0
  734. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.FADE_IN_halfheight +0 -0
  735. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.GRAYSCALE +0 -0
  736. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.GRAYSCALE_halfheight +0 -0
  737. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.HOT +0 -0
  738. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.HOT_halfheight +0 -0
  739. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.RAINBOW +0 -0
  740. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.RAINBOW_16 +0 -0
  741. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.RAINBOW_16_halfheight +0 -0
  742. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ansi.RAINBOW_halfheight +0 -0
  743. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/ascii-map +0 -0
  744. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/auto_allzero +0 -0
  745. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/auto_color_limits +0 -0
  746. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/halfheight +0 -0
  747. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/halfheight_single_row +0 -0
  748. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/merge_chars +0 -0
  749. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/merge_lines +0 -0
  750. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-False-False-False-False +0 -0
  751. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-False-False-False-True +0 -0
  752. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-False-False-True-False +0 -0
  753. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-False-False-True-True +0 -0
  754. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-False-True-False-False +0 -0
  755. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-False-True-False-True +0 -0
  756. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-False-True-True-False +0 -0
  757. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-False-True-True-True +0 -0
  758. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-True-False-False-False +0 -0
  759. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-True-False-False-True +0 -0
  760. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-True-False-True-False +0 -0
  761. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-True-False-True-True +0 -0
  762. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-True-True-False-False +0 -0
  763. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-True-True-False-True +0 -0
  764. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-True-True-True-False +0 -0
  765. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes-True-(-1-10)-ext-True-True-True-True +0 -0
  766. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes_invalid_1 +0 -0
  767. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes_labelsgiven +0 -0
  768. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes_single_pixel +0 -0
  769. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_axes_small +0 -0
  770. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_bin_data_1 +0 -0
  771. /densitty-0.9.0/tests/goldens/test_binning_simple_1 → /densitty-1.0.0/tests/goldens/test_bin_data_2 +0 -0
  772. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_binning_auto_spec_range_1 +0 -0
  773. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_binning_drop_data +0 -0
  774. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_binning_edge_1 +0 -0
  775. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_binning_edge_2 +0 -0
  776. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_binning_fixed_1 +0 -0
  777. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_binning_fixed_2 +0 -0
  778. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_binning_no_drop_data +0 -0
  779. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_binning_provide_edges +0 -0
  780. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_binning_simple_2 +0 -0
  781. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_empty_data +0 -0
  782. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_histplot2d_2 +0 -0
  783. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_histplot2d_3 +0 -0
  784. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_histplot2d_4 +0 -0
  785. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_maxsize_fitscreen_noaxes +0 -0
  786. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_single_data +0 -0
  787. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_single_valued_data +0 -0
  788. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_smooth_data_1 +0 -0
  789. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_smooth_data_1_x_axis +0 -0
  790. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_smooth_data_1_y_axis +0 -0
  791. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_smooth_data_2 +0 -0
  792. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_smooth_data_2_x_axis +0 -0
  793. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_smooth_data_2_y_axis +0 -0
  794. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_smooth_data_3 +0 -0
  795. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_smooth_data_3_x_axis +0 -0
  796. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/test_smooth_data_3_y_axis +0 -0
  797. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.BLUE_RED +0 -0
  798. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.BLUE_RED_halfheight +0 -0
  799. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.COOL +0 -0
  800. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.COOL_halfheight +0 -0
  801. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.FADE_IN +0 -0
  802. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.FADE_IN_halfheight +0 -0
  803. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.GRAYSCALE +0 -0
  804. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.GRAYSCALE_LINEAR +0 -0
  805. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.GRAYSCALE_LINEAR_halfheight +0 -0
  806. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.GRAYSCALE_halfheight +0 -0
  807. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.HOT +0 -0
  808. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.HOT_halfheight +0 -0
  809. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.RAINBOW +0 -0
  810. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/truecolor.RAINBOW_halfheight +0 -0
  811. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_100_-0.0819162998_510.002284_0 +0 -0
  812. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_100_-0.0819162998_510.002284_1 +0 -0
  813. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_100_0.0194307864_0.0194307906_0 +0 -0
  814. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_100_0.0194307864_0.0194307906_1 +0 -0
  815. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_101_1.42762354E-8_25.8269209_0 +0 -0
  816. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_101_1.42762354E-8_25.8269209_1 +0 -0
  817. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_102_1670249.07_2864582.59_0 +0 -0
  818. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_102_1670249.07_2864582.59_1 +0 -0
  819. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_103_1.89783411E-8_1.85232704E+9_0 +0 -0
  820. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_103_1.89783411E-8_1.85232704E+9_1 +0 -0
  821. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_104_1.73938891E-7_3790422.49_0 +0 -0
  822. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_104_1.73938891E-7_3790422.49_1 +0 -0
  823. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_109_-2.96955623E-10_83.0330135_0 +0 -0
  824. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_109_-2.96955623E-10_83.0330135_1 +0 -0
  825. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_110_10.0967520_10.0967520_0 +0 -0
  826. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_110_10.0967520_10.0967520_1 +0 -0
  827. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_112_-32410436.8_-32410436.8_0 +0 -0
  828. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_112_-32410436.8_-32410436.8_1 +0 -0
  829. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_119_-0.000605219562_139019378_0 +0 -0
  830. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_119_-0.000605219562_139019378_1 +0 -0
  831. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_11_1.96692248E-8_0.00820748193_0 +0 -0
  832. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_11_1.96692248E-8_0.00820748193_1 +0 -0
  833. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_129_2.59739235E-9_965070365_0 +0 -0
  834. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_129_2.59739235E-9_965070365_1 +0 -0
  835. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_131_0.145524462_4.65087154E+9_0 +0 -0
  836. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_131_0.145524462_4.65087154E+9_1 +0 -0
  837. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_135_-0.0000229191696_2267.64355_0 +0 -0
  838. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_135_-0.0000229191696_2267.64355_1 +0 -0
  839. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_141_-2.14314230E-7_19791.9707_0 +0 -0
  840. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_141_-2.14314230E-7_19791.9707_1 +0 -0
  841. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_143_2.69365458E-7_1.93715817_0 +0 -0
  842. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_143_2.69365458E-7_1.93715817_1 +0 -0
  843. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_145_-0.000773494593_8763857.68_0 +0 -0
  844. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_145_-0.000773494593_8763857.68_1 +0 -0
  845. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_145_-1.75397138E+9_-1.75397138E+9_0 +0 -0
  846. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_145_-1.75397138E+9_-1.75397138E+9_1 +0 -0
  847. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_148_0.00935627980_42504.9078_0 +0 -0
  848. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_148_0.00935627980_42504.9078_1 +0 -0
  849. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_153_-0.114808950_-0.114672276_0 +0 -0
  850. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_153_-0.114808950_-0.114672276_1 +0 -0
  851. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_153_-661104672_-661104672_0 +0 -0
  852. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_153_-661104672_-661104672_1 +0 -0
  853. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_154_-187.732088_-187.730832_0 +0 -0
  854. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_154_-187.732088_-187.730832_1 +0 -0
  855. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_156_-22304704.4_-20842350.2_0 +0 -0
  856. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_156_-22304704.4_-20842350.2_1 +0 -0
  857. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_157_-3.50954588E-10_947.964004_0 +0 -0
  858. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_157_-3.50954588E-10_947.964004_1 +0 -0
  859. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_158_-1234211.79_-1234211.70_0 +0 -0
  860. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_158_-1234211.79_-1234211.70_1 +0 -0
  861. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_160_194487990_194494183_0 +0 -0
  862. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_160_194487990_194494183_1 +0 -0
  863. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_162_-185285035_-185285035_0 +0 -0
  864. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_162_-185285035_-185285035_1 +0 -0
  865. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_166_67.3265318_75019876.3_0 +0 -0
  866. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_166_67.3265318_75019876.3_1 +0 -0
  867. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_167_4.45843689E-10_652665182_0 +0 -0
  868. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_167_4.45843689E-10_652665182_1 +0 -0
  869. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_168_3.26337097E-8_793724.663_0 +0 -0
  870. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_168_3.26337097E-8_793724.663_1 +0 -0
  871. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_169_-1.37817983E-7_115283107_0 +0 -0
  872. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_169_-1.37817983E-7_115283107_1 +0 -0
  873. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_172_-3329659.06_-3329659.06_0 +0 -0
  874. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_172_-3329659.06_-3329659.06_1 +0 -0
  875. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_172_19.8982303_4.98789640E+9_0 +0 -0
  876. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_172_19.8982303_4.98789640E+9_1 +0 -0
  877. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_176_98529298.9_98529299.0_0 +0 -0
  878. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_176_98529298.9_98529299.0_1 +0 -0
  879. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_177_0.0992866123_5373.66561_0 +0 -0
  880. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_177_0.0992866123_5373.66561_1 +0 -0
  881. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_187_-0.00362557327_243858998_0 +0 -0
  882. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_187_-0.00362557327_243858998_1 +0 -0
  883. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_191_0.000194623302_3.75022510_1 +0 -0
  884. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_196_-20.8607706_-20.8607561_0 +0 -0
  885. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_196_-20.8607706_-20.8607561_1 +0 -0
  886. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_196_-3592221.71_-3592221.71_0 +0 -0
  887. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_196_-3592221.71_-3592221.71_1 +0 -0
  888. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_198_75308.2184_409641.537_0 +0 -0
  889. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_198_75308.2184_409641.537_1 +0 -0
  890. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_21_-10.3544087_1086.65585_0 +0 -0
  891. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_21_-10.3544087_1086.65585_1 +0 -0
  892. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_26_-1.47776457E-10_2697757.41_0 +0 -0
  893. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_26_-1.47776457E-10_2697757.41_1 +0 -0
  894. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_29_-0.418828618_-0.418813422_0 +0 -0
  895. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_29_-0.418828618_-0.418813422_1 +0 -0
  896. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_39_-0.000161165673_-0.000160874037_0 +0 -0
  897. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_39_-0.000161165673_-0.000160874037_1 +0 -0
  898. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_3_0.00000979906217_0.000360412287_0 +0 -0
  899. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_3_0.00000979906217_0.000360412287_1 +0 -0
  900. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_45_99167646.7_99167646.7_0 +0 -0
  901. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_45_99167646.7_99167646.7_1 +0 -0
  902. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_46_-0.00000321721634_-0.00000321459619_0 +0 -0
  903. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_46_-0.00000321721634_-0.00000321459619_1 +0 -0
  904. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_46_0.00000291015154_0.733200207_0 +0 -0
  905. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_46_0.00000291015154_0.733200207_1 +0 -0
  906. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_48_-2.23566201E-7_74131862.3_0 +0 -0
  907. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_48_-2.23566201E-7_74131862.3_1 +0 -0
  908. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_48_-3.46356324E+9_-3.46286549E+9_0 +0 -0
  909. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_48_-3.46356324E+9_-3.46286549E+9_1 +0 -0
  910. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_48_7.83507705_7.83514258_0 +0 -0
  911. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_48_7.83507705_7.83514258_1 +0 -0
  912. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_4_-1099.01594_-1097.97364_0 +0 -0
  913. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_4_-1099.01594_-1097.97364_1 +0 -0
  914. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_50_-5675725.76_-5591838.17_0 +0 -0
  915. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_50_-5675725.76_-5591838.17_1 +0 -0
  916. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_53_0.499461762_0.499470226_0 +0 -0
  917. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_53_0.499461762_0.499470226_1 +0 -0
  918. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_56_1348178.28_1348178.28_0 +0 -0
  919. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_56_1348178.28_1348178.28_1 +0 -0
  920. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_60_1572.09156_1572.09156_0 +0 -0
  921. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_60_1572.09156_1572.09156_1 +0 -0
  922. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_62_0.0000834552114_162044199_0 +0 -0
  923. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_62_0.0000834552114_162044199_1 +0 -0
  924. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_76_100.966337_100.966349_0 +0 -0
  925. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_76_100.966337_100.966349_1 +0 -0
  926. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_7_1.49865727E-9_1.06805033_0 +0 -0
  927. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_7_1.49865727E-9_1.06805033_1 +0 -0
  928. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_80_19.4507640_868.195082_0 +0 -0
  929. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_80_19.4507640_868.195082_1 +0 -0
  930. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_84_228572.332_228572.332_0 +0 -0
  931. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_84_228572.332_228572.332_1 +0 -0
  932. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_86_-2.04771899E+9_-2.04771899E+9_0 +0 -0
  933. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_86_-2.04771899E+9_-2.04771899E+9_1 +0 -0
  934. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_86_1724.60078_1724.60078_0 +0 -0
  935. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_86_1724.60078_1724.60078_1 +0 -0
  936. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_86_9.56108668E-9_0.0000741047291_0 +0 -0
  937. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_86_9.56108668E-9_0.0000741047291_1 +0 -0
  938. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_8_-16602642.5_-16601902.4_0 +0 -0
  939. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_8_-16602642.5_-16601902.4_1 +0 -0
  940. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_8_-3716374.14_-3716374.02_0 +0 -0
  941. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_8_-3716374.14_-3716374.02_1 +0 -0
  942. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_8_0.850889413_38.8443390_0 +0 -0
  943. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_8_0.850889413_38.8443390_1 +0 -0
  944. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_8_2191761.87_2191772.44_0 +0 -0
  945. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_8_2191761.87_2191772.44_1 +0 -0
  946. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_90_-882580.430_-882580.430_0 +0 -0
  947. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_90_-882580.430_-882580.430_1 +0 -0
  948. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_93_-0.00790606166_17905215.6_0 +0 -0
  949. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_93_-0.00790606166_17905215.6_1 +0 -0
  950. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_93_-0.0503566340_177.327115_0 +0 -0
  951. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_93_-0.0503566340_177.327115_1 +0 -0
  952. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_99_2.90983509E-9_10613370.5_0 +0 -0
  953. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_99_2.90983509E-9_10613370.5_1 +0 -0
  954. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_9_-0.0000214145534_6521844.58_0 +0 -0
  955. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_9_-0.0000214145534_6521844.58_1 +0 -0
  956. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_9_0.124174552_7.78910615_0 +0 -0
  957. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/x_axis_9_0.124174552_7.78910615_1 +0 -0
  958. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_100_-0.0819162998_510.002284 +0 -0
  959. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_100_0.0194307864_0.0194307906 +0 -0
  960. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_101_1.42762354E-8_25.8269209 +0 -0
  961. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_102_1670249.07_2864582.59 +0 -0
  962. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_103_1.89783411E-8_1.85232704E+9 +0 -0
  963. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_104_1.73938891E-7_3790422.49 +0 -0
  964. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_109_-2.96955623E-10_83.0330135 +0 -0
  965. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_110_10.0967520_10.0967520 +0 -0
  966. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_112_-32410436.8_-32410436.8 +0 -0
  967. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_113_-504327.128_-504326.751 +0 -0
  968. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_118_2.20802474E-10_6.52519242E-10 +0 -0
  969. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_119_-0.000605219562_139019378 +0 -0
  970. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_119_0.00198534542_0.00198534573 +0 -0
  971. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_129_2.59739235E-9_965070365 +0 -0
  972. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_131_0.145524462_4.65087154E+9 +0 -0
  973. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_135_-0.0000229191696_2267.64355 +0 -0
  974. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_141_-2.14314230E-7_19791.9707 +0 -0
  975. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_141_3.41218635E-9_0.000593451723 +0 -0
  976. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_145_-0.000773494593_8763857.68 +0 -0
  977. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_145_-1.75397138E+9_-1.75397138E+9 +0 -0
  978. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_148_0.00935627980_42504.9078 +0 -0
  979. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_153_-661104672_-661104672 +0 -0
  980. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_156_-22304704.4_-20842350.2 +0 -0
  981. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_157_-3.50954588E-10_947.964004 +0 -0
  982. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_160_194487990_194494183 +0 -0
  983. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_162_-185285035_-185285035 +0 -0
  984. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_164_33859.0360_33859.0944 +0 -0
  985. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_166_67.3265318_75019876.3 +0 -0
  986. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_167_4.45843689E-10_652665182 +0 -0
  987. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_168_3.26337097E-8_793724.663 +0 -0
  988. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_169_-1.37817983E-7_115283107 +0 -0
  989. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_169_25.1180938_31.9108379 +0 -0
  990. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_172_-3329659.06_-3329659.06 +0 -0
  991. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_172_19.8982303_4.98789640E+9 +0 -0
  992. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_177_0.0992866123_5373.66561 +0 -0
  993. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_180_-1358.72046_-1358.71997 +0 -0
  994. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_187_-0.00362557327_243858998 +0 -0
  995. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_188_0.000735951891_0.000743931104 +0 -0
  996. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_190_2.22673610E-7_0.00903559932 +0 -0
  997. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_196_-20.8607706_-20.8607561 +0 -0
  998. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_196_-3592221.71_-3592221.71 +0 -0
  999. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_198_75308.2184_409641.537 +0 -0
  1000. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_21_-10.3544087_1086.65585 +0 -0
  1001. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_26_-1.47776457E-10_2697757.41 +0 -0
  1002. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_29_-0.418828618_-0.418813422 +0 -0
  1003. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_3_0.00000979906217_0.000360412287 +0 -0
  1004. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_45_99167646.7_99167646.7 +0 -0
  1005. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_48_-2.23566201E-7_74131862.3 +0 -0
  1006. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_48_-3.46356324E+9_-3.46286549E+9 +0 -0
  1007. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_4_-1099.01594_-1097.97364 +0 -0
  1008. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_50_-5675725.76_-5591838.17 +0 -0
  1009. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_56_1348178.28_1348178.28 +0 -0
  1010. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_60_1572.09156_1572.09156 +0 -0
  1011. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_62_0.0000834552114_162044199 +0 -0
  1012. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_68_-64.8155821_-64.8153334 +0 -0
  1013. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_78_-0.0000147372573_-0.0000147370017 +0 -0
  1014. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_7_1.49865727E-9_1.06805033 +0 -0
  1015. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_80_19.4507640_868.195082 +0 -0
  1016. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_84_228572.332_228572.332 +0 -0
  1017. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_86_-2.04771899E+9_-2.04771899E+9 +0 -0
  1018. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_86_1724.60078_1724.60078 +0 -0
  1019. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_89_8.49639722E-8_8.81452078E-8 +0 -0
  1020. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_8_-3716374.14_-3716374.02 +0 -0
  1021. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_8_2191761.87_2191772.44 +0 -0
  1022. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_90_-882580.430_-882580.430 +0 -0
  1023. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_91_-5.88268935_-5.88264807 +0 -0
  1024. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_93_-0.00790606166_17905215.6 +0 -0
  1025. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_93_-0.0503566340_177.327115 +0 -0
  1026. {densitty-0.9.0 → densitty-1.0.0}/tests/goldens/y_axis_99_2.90983509E-9_10613370.5 +0 -0
@@ -0,0 +1,84 @@
1
+ #TEST_PACKAGES := numpy,pytest,readchar,rich
2
+
3
+ .PHONY: test-ci
4
+ test-ci:
5
+ rm -rf tests/new_goldens
6
+ mkdir -p tests/new_goldens
7
+ PYTHONPATH=. uv run python -m pytest tests/*.py
8
+
9
+ .PHONY: test
10
+ test: test-ci ## Add output to show current test coverage, but no report
11
+ PYTHONPATH=. uv run python -m pytest --cov=densitty tests/*.py
12
+
13
+ .PHONY: testcov
14
+ testcov: ## Output test coverage report
15
+ PYTHONPATH=. uv run python -m pytest --cov=densitty --cov-report=html tests/*.py
16
+
17
+ .PHONY: golden-accept
18
+ golden-accept:
19
+ PYTHONPATH=. uv run python tests/golden_diff.py
20
+
21
+ .PHONY: lint
22
+ lint:
23
+ ## Ignore stub file, as it seems to confuse pylint
24
+ PYTHONPATH=. uv run python -m pylint --ignore util.pyi densitty
25
+
26
+ .PHONY: format
27
+ format:
28
+ uv run python -m black -l 99 densitty/*.py
29
+ uv run python -m black -l 99 tests/*.py
30
+
31
+ .PHONY: check-format
32
+ check-format:
33
+ uv run python -m black -l 99 --check densitty/*.py tests/*.py
34
+
35
+ .PHONY: typecheck
36
+ typecheck:
37
+ PYTHONPATH=. uv run python -m mypy densitty
38
+ PYTHONPATH=. uv run python -m mypy tests/numpy_tests.py
39
+ PYTHONPATH=. uv run python -m mypy tests/axis_tests.py
40
+
41
+ .PHONY: check ## essentially the same as the presubmit checks
42
+ check: lint check-format typecheck test
43
+
44
+ .PHONY: colors
45
+ colors:
46
+ PYTHONPATH=. uv run python tests/color_tests.py
47
+
48
+ .PHONY: examples
49
+ examples:
50
+ PYTHONPATH=. uv run python examples/run_examples.py
51
+
52
+ .PHONY: screenshots
53
+ screenshots:
54
+ uv run --with iterm2,pyobjc examples/generate_screenshots.py
55
+
56
+ .PHONY: gallery
57
+ gallery: screenshots
58
+ uv run examples/generate_example_markdown.py
59
+
60
+ .PHONY: build
61
+ build: ## Build wheel file
62
+ rm -rf ./dist
63
+ uvx --from build pyproject-build --installer uv
64
+
65
+ .PHONY: tag
66
+ tag: ## Add a Git tag and push it to origin with syntax: make tag TAG=tag_name
67
+ ifeq ($(origin TAG),undefined)
68
+ $(error "ERROR: use like 'make tag TAG=tag_name'")
69
+ else
70
+ @echo "Creating git tag: ${TAG}"
71
+ git tag -a ${TAG} -m ""
72
+ @echo "Pushing tag to origin: ${TAG}"
73
+ git push origin ${TAG}
74
+ endif
75
+
76
+ .PHONY: publish-test
77
+ publish-test: build
78
+ @echo "Publishing to testpypi"
79
+ uvx twine upload --repository testpypi dist/*
80
+
81
+ .PHONY: publish
82
+ publish: build
83
+ @echo "Publishing to REAL pypi"
84
+ uvx twine upload dist/*
@@ -0,0 +1,41 @@
1
+ Metadata-Version: 2.4
2
+ Name: densitty
3
+ Version: 1.0.0
4
+ Summary: densitty - create textual 2-D density plots, heatmaps, and 2-D histograms in Python
5
+ Author: Bill Tompkins
6
+ License-Expression: MIT
7
+ Project-URL: Homepage, https://github.com/BillTompkins/densitty
8
+ Keywords: densitty,ascii,ascii-art,plotting,terminal,Python
9
+ Classifier: Development Status :: 5 - Production/Stable
10
+ Classifier: Environment :: Console
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Programming Language :: Python :: 3.13
18
+ Classifier: Programming Language :: Python :: 3.14
19
+ Classifier: Programming Language :: Python :: Free Threading :: 3 - Stable
20
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
21
+ Requires-Python: >=3.10
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+ Dynamic: license-file
25
+
26
+ <h1 align="center">densitty</h1>
27
+ <h2 align="center">Terminal-based 2-D Histogram, Density Plots, and Heatmaps in Python</h2>
28
+
29
+ Generate 2-D histograms (density plots, heat maps, eye diagrams) similar to [matplotlib's hist2d](https://matplotlib.org/stable/gallery/statistics/hist.html "hist2d"), but with output in the terminal, and no external dependencies.
30
+
31
+ ![Plot Output](https://billtompkins.github.io/densitty/docs/inline-histplot2d.png "example output image")
32
+
33
+ ## [Examples/Gallery](https://billtompkins.github.io/densitty/docs/examples.html)
34
+
35
+ ## [Usage Notes](https://billtompkins.github.io/densitty/docs/usage.html)
36
+
37
+ ## [Color, Size, and Glyph Support](https://billtompkins.github.io/densitty/docs/terminal_support.html)
38
+
39
+ ## [API](https://billtompkins.github.io/densitty/docs/api.html)
40
+
41
+ ## [GitHub](https://github.com/BillTompkins/densitty/tree/main)
@@ -0,0 +1,16 @@
1
+ <h1 align="center">densitty</h1>
2
+ <h2 align="center">Terminal-based 2-D Histogram, Density Plots, and Heatmaps in Python</h2>
3
+
4
+ Generate 2-D histograms (density plots, heat maps, eye diagrams) similar to [matplotlib's hist2d](https://matplotlib.org/stable/gallery/statistics/hist.html "hist2d"), but with output in the terminal, and no external dependencies.
5
+
6
+ ![Plot Output](https://billtompkins.github.io/densitty/docs/inline-histplot2d.png "example output image")
7
+
8
+ ## [Examples/Gallery](https://billtompkins.github.io/densitty/docs/examples.html)
9
+
10
+ ## [Usage Notes](https://billtompkins.github.io/densitty/docs/usage.html)
11
+
12
+ ## [Color, Size, and Glyph Support](https://billtompkins.github.io/densitty/docs/terminal_support.html)
13
+
14
+ ## [API](https://billtompkins.github.io/densitty/docs/api.html)
15
+
16
+ ## [GitHub](https://github.com/BillTompkins/densitty/tree/main)
@@ -0,0 +1,9 @@
1
+ """In-terminal 2-D histogram/density/heatmap plotting"""
2
+
3
+ from .detect import densityplot2d, grid_heatmap, histplot2d, plot
4
+ from .detect import GRAYSCALE, FADE_IN, RAINBOW, REV_RAINBOW
5
+ from .axis import Axis
6
+ from .plotting import Plot
7
+ from .colorbar import make_colorbar
8
+ from .binning import histogram2d
9
+ from .smoothing import smooth2d
@@ -0,0 +1,108 @@
1
+ """ANSI code/color support"""
2
+
3
+ # <pedantic> that the 256-color support here is not actually ANSI X3.64, though it uses ANSI-ish
4
+ # escape sequences. I believe it was originally done in Xterm. And 4b colors (16-color)
5
+ # are really an aixterm extension to the ANSI-specified 8-color standard. </pedantic>
6
+
7
+ from typing import Optional, Sequence
8
+
9
+ from .util import nearest
10
+
11
+ RESET = "\033[0m"
12
+
13
+
14
+ def compose(codes: Sequence[str]) -> str:
15
+ """Given a list of individual color codes, produce the full escape sequence."""
16
+ return f"\033[{';'.join(codes)}m"
17
+
18
+
19
+ def colormap_16(colors):
20
+ """Produce a function that returns closest 4b/16color ANSI color codes from colormap.
21
+ Parameters
22
+ ----------
23
+ colors: Sequence[int]
24
+ Ordered 16-color ANSI colors corresponding to the 0.0..1.0 range
25
+ """
26
+
27
+ def as_colorcodes(bg_frac: Optional[float], fg_frac: Optional[float]) -> str:
28
+ """Return ANSI color code for 16-color value(s)
29
+ Parameters
30
+ ----------
31
+ fg_frac: Optional[float]
32
+ Value 0.0..1.0 for foreground, or None if background-only
33
+ fg_frac: Optional[float]
34
+ Value 0.0..1.0 for background, or None for foreground-only
35
+ """
36
+ codes = []
37
+ if fg_frac is not None:
38
+ codes += [f"{30 + nearest(colors, fg_frac)}"]
39
+ if bg_frac is not None:
40
+ codes += [f"{40 + nearest(colors, bg_frac)}"]
41
+ return compose(codes)
42
+
43
+ return as_colorcodes
44
+
45
+
46
+ def colormap_256(colors):
47
+ """Produce a function that returns closest 8b/256color ANSI color codes from colormap.
48
+ Parameters
49
+ ----------
50
+ colors: Sequence[int]
51
+ Ordered 256-color ANSI colors corresponding to the 0.0..1.0 range
52
+ """
53
+
54
+ def as_colorcodes(bg_frac: Optional[float], fg_frac: Optional[float]):
55
+ """Return ANSI color code for 256-color value(s)
56
+ Parameters
57
+ ----------
58
+ fg_frac: Optional[float]
59
+ Value 0.0..1.0 for foreground, or None if background-only
60
+ fg_frac: Optional[float]
61
+ Value 0.0..1.0 for background, or None for foreground-only
62
+ """
63
+ codes = []
64
+ if fg_frac is not None:
65
+ fg = nearest(colors, fg_frac)
66
+ codes += [f"38;5;{fg}"]
67
+ if bg_frac is not None:
68
+ bg = nearest(colors, bg_frac)
69
+ codes += [f"48;5;{bg}"]
70
+ return compose(codes)
71
+
72
+ return as_colorcodes
73
+
74
+
75
+ ########################################################
76
+ # Colormaps. Assumed 256-color unless suffixed with _16
77
+ # pylint: disable=invalid-name
78
+
79
+
80
+ # ANSI 16-color map colors in ROYGBIV order: Red, Yellow, Green, Cyan, Blue
81
+ RAINBOW_16 = colormap_16((5, 1, 3, 2, 6))
82
+
83
+ # ANSI 16-color 'rainbow', Reversed:
84
+ REV_RAINBOW_16 = colormap_16((6, 2, 3, 1, 5))
85
+
86
+ # ANSI 16-color map colors: Black, Blue, Cyan, Green, Yellow, Red, Magenta, White
87
+ FADE_IN_16 = colormap_16((0, 4, 6, 2, 3, 1, 5, 7))
88
+
89
+ # ANSI 256-color map colors in a grayscale black->white
90
+ GRAYSCALE = colormap_256([0] + list(range(232, 256)) + [15])
91
+
92
+ rainbow_256_colors = (
93
+ # fmt: off
94
+ (196, 202, 208, 214, 220, 190, 154, 118, 82, 46, 47, 48, 43, 80, 81, 39, 27, 21, 56, 91)
95
+ # fmt: on
96
+ )
97
+ RAINBOW = colormap_256(rainbow_256_colors)
98
+ REV_RAINBOW = colormap_256(tuple(reversed(rainbow_256_colors)))
99
+
100
+ BLUE_RED = colormap_256((21, 56, 91, 126, 161, 196))
101
+ FADE_IN = colormap_256(
102
+ # fmt: off
103
+ (16, 53, 54, 55, 56, 57, 21, 21, 27, 39, 81, 80, 43, 48, 47,
104
+ 46, 82, 118, 154, 190, 220, 214, 208, 202, 196)
105
+ # fmt: on
106
+ )
107
+ HOT = colormap_256((16, 52, 88, 124, 160, 196, 202, 208, 214, 220, 226, 227, 228, 229, 230, 231))
108
+ COOL = colormap_256((50, 81, 111, 141, 171, 201))
@@ -0,0 +1,428 @@
1
+ """Axis-generation support."""
2
+
3
+ import dataclasses
4
+ from decimal import Decimal
5
+ import itertools
6
+ import math
7
+ from typing import Optional, Sequence
8
+
9
+ from . import lineart, util
10
+ from .util import FloatLike, ValueRange
11
+
12
+
13
+ @dataclasses.dataclass
14
+ class BorderChars:
15
+ """Characters to use for X/Y border"""
16
+
17
+ first: str
18
+ middle: str
19
+ last: str
20
+
21
+
22
+ y_border = {False: BorderChars(" ", " ", " "), True: BorderChars("╷", "│", "╵")}
23
+ x_border = {False: BorderChars(" ", " ", " "), True: BorderChars("╶", "─", "╴")}
24
+
25
+ ###############################################
26
+ # Helper functions used by the Axis class below
27
+
28
+
29
+ def pick_step_size(lower_bound) -> Decimal:
30
+ """Try to pick a step size that gives nice round values for step positions."""
31
+ if lower_bound <= 0:
32
+ raise ValueError("pick_step_size called with 0 or negative value")
33
+
34
+ _, frac, exp = util.sfrexp10(lower_bound) # 0.1 <= frac < 1.0
35
+
36
+ # round up to an appropriate "round" value that starts with 1/2/5
37
+ if frac <= Decimal("0.2"):
38
+ out = Decimal((0, (2,), exp - 1))
39
+ elif frac <= Decimal("0.5"):
40
+ out = Decimal((0, (5,), exp - 1))
41
+ else:
42
+ out = Decimal((0, (1,), exp))
43
+
44
+ if out >= 10:
45
+ # this will be printed as 1E1 or such. Give it more significant figures so
46
+ # it is printed as an integer:
47
+ return out.quantize(1)
48
+ return out
49
+
50
+
51
+ def add_x_label(line: list[str], label: str, ctr_pos: FloatLike):
52
+ """Adds the label string to the output line, centered at specified position
53
+ The output line is a list of single-character strings, to make this kind of thing
54
+ straightforward"""
55
+ width = len(label)
56
+ start_col = int(max(float(ctr_pos) + 0.49 - width / 2, 0))
57
+ end_col = start_col + width
58
+ line[start_col:end_col] = list(label)
59
+
60
+
61
+ def add_x_tick(line: list[str], start_pos: float, left_margin: int, num_cols: int):
62
+ """Adds a (possibly fractional) tick to the output line, centered at specified position"""
63
+ base_idx = int(start_pos)
64
+ fractional_pos = start_pos - base_idx
65
+ margined_idx = base_idx + left_margin
66
+ if 0.25 <= fractional_pos <= 0.75:
67
+ # add a tick in the center of the appropriate bin
68
+ line[margined_idx] = lineart.merge_chars("│", line[margined_idx])
69
+ return
70
+ if fractional_pos < 0.25:
71
+ left_idx = max(margined_idx - 1, 0)
72
+ else:
73
+ left_idx = margined_idx
74
+
75
+ if base_idx == 0:
76
+ line[left_idx] = lineart.merge_chars("│", line[left_idx])
77
+ else:
78
+ line[left_idx] = "╱"
79
+
80
+ if base_idx >= num_cols - 1:
81
+ line[left_idx + 1] = lineart.merge_chars("│", line[left_idx + 1])
82
+ else:
83
+ line[left_idx + 1] = "╲"
84
+
85
+
86
+ def gen_tick_values(value_range, tick_step):
87
+ """Produce tick values in the specified range. Basically numpy.arange"""
88
+
89
+ tick = math.ceil(value_range.min / tick_step) * tick_step
90
+ while tick <= value_range.max:
91
+ yield tick
92
+ tick += tick_step
93
+
94
+
95
+ def positions_to_labels(
96
+ printed_positions: Sequence[Decimal], ticked_positions: Sequence[FloatLike], fmt: str
97
+ ) -> dict[FloatLike, str]:
98
+ """Given positions, construct a label dict mapping position to string to be printed there.
99
+ The first positions get a printed value, the second set get a blank, for a bare 'tick'"""
100
+
101
+ tick_dict = {p: "" for p in ticked_positions}
102
+ printed_dict = {p: fmt.format(p) for p in util.sanitize_decimals(printed_positions)}
103
+ return tick_dict | printed_dict
104
+
105
+
106
+ def calc_min_step(
107
+ value_range: ValueRange,
108
+ bin_width: FloatLike,
109
+ accomodate_values: bool,
110
+ tick_space: int,
111
+ fmt: str,
112
+ ):
113
+ """Calculate minimum step size for tick placement.
114
+
115
+ When accomodate_values is True, considers the width of printed labels.
116
+ Otherwise, only considers tick spacing requirements.
117
+ """
118
+ if accomodate_values:
119
+ # find a representative printed label width to use for basic calculations
120
+ test_tick_step = pick_step_size((value_range.max - value_range.min) / 5)
121
+ test_values_printed = tuple(
122
+ fmt.format(value) for value in gen_tick_values(value_range, test_tick_step)
123
+ )
124
+ widths_in_bins = tuple(len(p) for p in test_values_printed)
125
+ # get the 3'd lowest width, or highest if there are less than 3 due to tick-step roundup:
126
+ example_width = sorted(widths_in_bins)[:3][-1]
127
+ min_printed_step = (example_width + 1) * bin_width
128
+ # If the printed labels are small (single-digit), the ticks themselves might be the
129
+ # limiting factor, especially if they are X-axis fractional ticks like "/\"
130
+ return max(min_printed_step, bin_width * (2 + tick_space * 2))
131
+ return bin_width * (2 + tick_space)
132
+
133
+
134
+ def gen_position_subsets(positions: tuple, tick_step: Decimal) -> list[Sequence[Decimal]]:
135
+ """Generate candidate label position subsets based on tick step digit.
136
+
137
+ For tick steps starting with 1 or 2: generates every-5th subsets (5 variants).
138
+ For tick steps starting with 5: generates every-2nd subsets (2 variants).
139
+ """
140
+ step_digit = tick_step.as_tuple().digits[0] # leading digit of tick step: 1, 2, or 5
141
+ # we want to pick different position subsets depending on whether we're advancing by
142
+ # 1eX, 2eX, or 5eX:
143
+ position_subsets = []
144
+ if step_digit in (1, 2):
145
+ # print on every fifth one, starting at 0..4
146
+ position_subsets += list(util.sanitize_decimals(positions[start::5]) for start in range(5))
147
+ elif step_digit == 5:
148
+ # print on every second one, starting at 0 or 1
149
+ position_subsets += list(util.sanitize_decimals(positions[start::2]) for start in range(2))
150
+ return position_subsets
151
+
152
+
153
+ def label_ends_only(positions, tick_step, bin_width, accomodate_values, fmt):
154
+ """See if printing just the labels for the first and last ticks will fit"""
155
+
156
+ if not accomodate_values:
157
+ # For Y axis / we don't care about printed widths
158
+ return positions_to_labels((positions[0], positions[-1]), positions, fmt)
159
+
160
+ end_positions = (positions[0], positions[-1])
161
+ ends_printed = tuple(positions_to_labels(end_positions, [], fmt).values())
162
+
163
+ half_len_first = len(ends_printed[0]) // 2
164
+ half_len_last = (len(ends_printed[1]) + 1) // 2
165
+ space_available = math.floor(tick_step / bin_width)
166
+
167
+ if half_len_first + half_len_last <= space_available:
168
+ # We can fit values on the first and last ticks
169
+ return positions_to_labels(end_positions, positions, fmt)
170
+
171
+ # Not enough space to print two values, so just print the first
172
+ return positions_to_labels(end_positions[:1], positions, fmt)
173
+
174
+
175
+ def find_fitting_subset(position_subsets, ticks_per_bin, accomodate_values, fmt):
176
+ """Find roundest label subset that fits within space constraints"""
177
+ for position_subset in util.roundness_ordered(position_subsets):
178
+ if not accomodate_values: # it doesn't matter what the printed widths are, it will fit
179
+ return position_subset
180
+ # We're printing at most one value for every 2 ticks, so just make sure
181
+ # that the printed values will not run over the adjacent ticks' area
182
+ # Given the initial min_step logic, this will likely always be true
183
+ printed_widths = (
184
+ len(label) for label in positions_to_labels(position_subset, [], fmt).values()
185
+ )
186
+ allowed_width = ticks_per_bin * 2 - 2
187
+ if max(printed_widths) <= allowed_width:
188
+ return position_subset
189
+ return tuple()
190
+
191
+
192
+ def gen_full_labels(value_range: ValueRange, num_bins, accomodate_values, tick_space, fmt):
193
+ """Generate positions for labels (plain ticks & ticks with value)"""
194
+ bin_width = (value_range.max - value_range.min) / num_bins
195
+
196
+ if bin_width <= 0:
197
+ # we don't have a sensible range for the axis values, so just have empty ticks
198
+ return {}
199
+
200
+ min_step = calc_min_step(value_range, bin_width, accomodate_values, tick_space, fmt)
201
+ cur_tick_step = pick_step_size(min_step)
202
+
203
+ while True:
204
+ positions = tuple(gen_tick_values(value_range, cur_tick_step))
205
+
206
+ if len(positions) == 0:
207
+ # No suitable ticks/labels.
208
+ if accomodate_values:
209
+ # Printed value labels won't fit, try without them
210
+ return gen_full_labels(value_range, num_bins, False, tick_space, "")
211
+ # Nothing fits
212
+ return {}
213
+ if len(positions) == 1:
214
+ return positions_to_labels(positions, [], fmt)
215
+
216
+ position_subsets = gen_position_subsets(positions, cur_tick_step)
217
+
218
+ # Check to see if all generated label subsets only have a single entry
219
+ if max(len(subset) for subset in position_subsets) == 1:
220
+ # Try to just label the ends:
221
+ return label_ends_only(positions, cur_tick_step, bin_width, accomodate_values, fmt)
222
+
223
+ best_subset = find_fitting_subset(
224
+ position_subsets, cur_tick_step / bin_width, accomodate_values, fmt
225
+ )
226
+
227
+ if best_subset:
228
+ return positions_to_labels(best_subset, positions, fmt)
229
+
230
+ cur_tick_step = pick_step_size(float(cur_tick_step) * 1.01)
231
+
232
+
233
+ def calc_edges(value_range, num_bins, values_are_edges):
234
+ """Calculate the top/bottom or left/right values for each of 'num_bins' bins
235
+
236
+ Parameters
237
+ ----------
238
+ value_range: util.ValueRange
239
+ Coordinate values for first/last bin
240
+ Can be center of bin, or outside edge (see values_are_edges)
241
+ num_bins: int
242
+ Number of bins/intervals to produce edges for
243
+ values_are_edges: bool
244
+ Indicates that value_range specifies outside edges rather than bin centers
245
+ """
246
+ if values_are_edges or num_bins == 1:
247
+ bin_delta = (value_range.max - value_range.min) / num_bins
248
+ first_bin_min = value_range.min
249
+ else:
250
+ bin_delta = (value_range.max - value_range.min) / (num_bins - 1)
251
+ first_bin_min = value_range.min - (bin_delta / 2)
252
+ bin_edges = tuple(first_bin_min + i * bin_delta for i in range(num_bins + 1))
253
+ return itertools.pairwise(bin_edges)
254
+
255
+
256
+ ###############################################
257
+ # The User-facing interface: the Axis class
258
+
259
+
260
+ @dataclasses.dataclass
261
+ class Axis:
262
+ """Options for axis generation."""
263
+
264
+ value_range: ValueRange # can also specify as a tuple of (min, max)
265
+ labels: Optional[dict[FloatLike, str]] = (
266
+ None # map axis value to label (plus tick) at that value
267
+ )
268
+ label_fmt: str = "{}" # format for generated labels
269
+ border_line: bool = False # embed ticks in a horizontal X-axis or vertical Y-axis line
270
+ values_are_edges: bool = False # N+1 values, indicating boundaries between pixels, not centers
271
+ fractional_tick_pos: bool = False # Use "▔", "▁", or "╱╲" for non-centered ticks
272
+
273
+ def __init__(
274
+ self,
275
+ value_range: ValueRange | tuple[FloatLike, FloatLike],
276
+ labels: Optional[dict[FloatLike, str]] = None,
277
+ label_fmt: str = "{}",
278
+ border_line: bool = False,
279
+ values_are_edges: bool = False,
280
+ fractional_tick_pos: bool = False,
281
+ # pylint: disable=too-many-arguments,too-many-positional-arguments
282
+ ):
283
+ # Sanitize value_range: allow user to provide it as a tuple of FloatLike (without
284
+ # needing to import ValueRange), and convert to ValueRange(Decimal, Decimal)
285
+ self.value_range = ValueRange(
286
+ Decimal(float(value_range[0])), Decimal(float(value_range[1]))
287
+ )
288
+ self.labels = labels
289
+ self.label_fmt = label_fmt
290
+ self.border_line = border_line
291
+ self.values_are_edges = values_are_edges
292
+ self.fractional_tick_pos = fractional_tick_pos
293
+
294
+ def _unjustified_y_axis(self, num_rows: int):
295
+ """Returns the Y axis string for each line of the plot"""
296
+ if self.labels is None:
297
+ labels = gen_full_labels(
298
+ self.value_range,
299
+ num_rows,
300
+ False,
301
+ 0,
302
+ self.label_fmt,
303
+ )
304
+ else:
305
+ labels = self.labels
306
+
307
+ label_values = sorted(labels.keys())
308
+ bins = calc_edges(self.value_range, num_rows, self.values_are_edges)
309
+
310
+ use_combining = self.border_line and self.fractional_tick_pos
311
+ for row_min, row_max in bins:
312
+ if label_values and row_min <= label_values[0] <= row_max:
313
+ label_str = labels[label_values[0]]
314
+
315
+ offset_frac = (float(label_values[0]) - float(row_min)) / float(row_max - row_min)
316
+ # Try to avoid our cutoffs being exactly where roundoff errors can pop up and
317
+ # cause inconsistent behavior. So 0.249 rather than 0.25, 0.751 rather than 0.75:
318
+ if offset_frac < 0.249 and self.fractional_tick_pos:
319
+ tick_char = "▔"
320
+ elif offset_frac > 0.751 and self.fractional_tick_pos:
321
+ tick_char = "▁"
322
+ else:
323
+ tick_char = "─"
324
+ label_str += lineart.merge_chars(
325
+ tick_char,
326
+ y_border[self.border_line].middle,
327
+ use_combining_unicode=use_combining,
328
+ )
329
+ yield label_str
330
+ label_values = label_values[1:]
331
+ else:
332
+ yield y_border[self.border_line].middle
333
+
334
+ def render_as_y(self, num_rows: int, pad_top: bool, pad_bot: bool, flip: bool):
335
+ """Create a Y axis as a list of strings for the left margin of a plot
336
+
337
+ Parameters
338
+ ----------
339
+ num_rows: int
340
+ Number of data rows
341
+ pad_top: bool
342
+ Emit a line for an X axis line/row at the top
343
+ pad_bot: bool
344
+ Emit a line for an X axis line/row at the bottom
345
+ flip: bool
346
+ Put the minimum Y on the last line rather than the first
347
+ """
348
+ unpadded_labels = list(self._unjustified_y_axis(num_rows))
349
+ if flip:
350
+ unpadded_labels = [
351
+ s.translate(lineart.flip_vertical) for s in reversed(unpadded_labels)
352
+ ]
353
+
354
+ if pad_top:
355
+ unpadded_labels = [y_border[self.border_line].first] + unpadded_labels
356
+ if pad_bot:
357
+ unpadded_labels = unpadded_labels + [y_border[self.border_line].last]
358
+
359
+ lengths = [lineart.display_len(label_str) for label_str in unpadded_labels]
360
+ max_width = max(lengths)
361
+ pad_lengths = [max_width - length for length in lengths]
362
+ padded_labels = [
363
+ " " * pad_length + label_str
364
+ for (label_str, pad_length) in zip(unpadded_labels, pad_lengths)
365
+ ]
366
+ return padded_labels
367
+
368
+ def render_as_x(self, num_cols: int, left_margin: int):
369
+ """Generate X tick line and X label line.
370
+
371
+ Parameters
372
+ ----------
373
+ num_cols: int
374
+ Number of data columns
375
+ left_margin: int
376
+ chars to the left of leftmost data col. May have Labels/border-line.
377
+ """
378
+ if self.labels is None:
379
+ tick_space = 1 if self.fractional_tick_pos else 0
380
+ labels = gen_full_labels(self.value_range, num_cols, True, tick_space, self.label_fmt)
381
+ else:
382
+ labels = self.labels
383
+
384
+ label_values = sorted(labels.keys())
385
+
386
+ bins = calc_edges(self.value_range, num_cols, self.values_are_edges)
387
+
388
+ tick_line = list(
389
+ " " * (left_margin - 1)
390
+ + x_border[self.border_line].first
391
+ + x_border[self.border_line].middle * num_cols
392
+ + x_border[self.border_line].last
393
+ )
394
+
395
+ label_line = [" "] * len(tick_line) # labels under the ticks
396
+
397
+ for col_idx, (col_min, col_max) in enumerate(bins):
398
+ # use Decimal.next_plus to accomodate rounding error/truncation
399
+ if label_values and col_min <= label_values[0] <= col_max.next_plus():
400
+ if self.fractional_tick_pos:
401
+ offset_frac = (label_values[0] - col_min) / (col_max - col_min)
402
+ else:
403
+ offset_frac = 0.5 # not doing fractional tick positioning == center the tick
404
+
405
+ add_x_tick(tick_line, col_idx + offset_frac, left_margin, num_cols)
406
+ add_x_label(
407
+ label_line, labels[label_values[0]], col_idx + left_margin + offset_frac
408
+ )
409
+
410
+ label_values = label_values[1:] # pop that first label since we added it
411
+
412
+ return "".join(tick_line), "".join(label_line)
413
+
414
+ def upscale(self, new_num_bins, multiplier):
415
+ """Adjust axis for an upscaled plot"""
416
+ if self.values_are_edges:
417
+ # upscaling doesn't move the axis edges. First edge of first bin is the same.
418
+ return
419
+ old_num_bins = new_num_bins // multiplier
420
+ old_bin_width = (self.value_range.max - self.value_range.min) / (old_num_bins - 1)
421
+ new_bin_width = old_bin_width / multiplier
422
+ # we used to have a value for the center of the first bin, but now that bin is
423
+ # 'multiplier' bins, and the value corresponds to the center of that _group_ of bins
424
+ # Find the offset between that group center, and the center of the new edge bin:
425
+ offset = new_bin_width * (multiplier - 1) / 2
426
+ self.value_range = util.make_value_range(
427
+ (self.value_range.min - offset, self.value_range.max + offset)
428
+ )