plotnine 0.15.0.dev2__tar.gz → 0.15.0.dev3__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 (653) hide show
  1. {plotnine-0.15.0.dev2/plotnine.egg-info → plotnine-0.15.0.dev3}/PKG-INFO +1 -1
  2. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/_quartodoc.yml +11 -0
  3. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/changelog.qmd +11 -0
  4. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/layout_manager/_layout_items.py +2 -42
  5. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/layout_manager/_layout_tree.py +168 -115
  6. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/layout_manager/_spaces.py +15 -2
  7. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_bar.py +10 -2
  8. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_col.py +6 -0
  9. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_violin.py +24 -7
  10. plotnine-0.15.0.dev3/plotnine/mapping/_eval_environment.py +85 -0
  11. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/mapping/aes.py +6 -23
  12. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/mapping/evaluation.py +7 -65
  13. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_sina.py +33 -0
  14. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/themeable.py +1 -1
  15. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3/plotnine.egg-info}/PKG-INFO +1 -1
  16. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine.egg-info/SOURCES.txt +4 -0
  17. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_bar_col_histogram/col_just.png +0 -0
  18. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_sina/style.png +0 -0
  19. plotnine-0.15.0.dev3/tests/baseline_images/test_geom_violin/overlap.png +0 -0
  20. plotnine-0.15.0.dev3/tests/baseline_images/test_layout/axis_text_justification.png +0 -0
  21. plotnine-0.15.0.dev3/tests/baseline_images/test_layout/facet_wrap_scales_free.png +0 -0
  22. plotnine-0.15.0.dev3/tests/baseline_images/test_theme/theme_seaborn.png +0 -0
  23. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_bar_col_histogram.py +11 -0
  24. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_sina.py +10 -0
  25. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_violin.py +8 -0
  26. plotnine-0.15.0.dev2/tests/baseline_images/test_layout/axis_text_justification.png +0 -0
  27. plotnine-0.15.0.dev2/tests/baseline_images/test_layout/facet_wrap_scales_free.png +0 -0
  28. plotnine-0.15.0.dev2/tests/baseline_images/test_theme/theme_seaborn.png +0 -0
  29. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.gitattributes +0 -0
  30. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.github/DISCUSSION_TEMPLATE/2024-plotnine-contest.yml +0 -0
  31. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.github/utils/_repo.py +0 -0
  32. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.github/utils/please.py +0 -0
  33. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.github/workflows/documentation.yml +0 -0
  34. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.github/workflows/release.yml +0 -0
  35. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.github/workflows/testing.yml +0 -0
  36. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.github/workflows/weekly.yml +0 -0
  37. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.gitignore +0 -0
  38. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.pre-commit-config.yaml +0 -0
  39. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/.readthedocs.yaml +0 -0
  40. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/CITATION.bib +0 -0
  41. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/LICENSE +0 -0
  42. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/Makefile +0 -0
  43. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/README.md +0 -0
  44. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/code-of-conduct.md +0 -0
  45. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/codecov.yml +0 -0
  46. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/.gitignore +0 -0
  47. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/Makefile +0 -0
  48. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/_config.py +0 -0
  49. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/_quarto.yml +0 -0
  50. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/_renderer.py +0 -0
  51. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/favicon-16x16.png +0 -0
  52. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/favicon-32x32.png +0 -0
  53. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/logo-512.png +0 -0
  54. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/logo.png +0 -0
  55. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/readme-image-1.png +0 -0
  56. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/readme-image-2.png +0 -0
  57. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/readme-image-3.png +0 -0
  58. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/readme-image-4.png +0 -0
  59. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/readme-image-5.png +0 -0
  60. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/readme-image-5alt.png +0 -0
  61. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/images/readme_images.py +0 -0
  62. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/doc/plotnine.scss +0 -0
  63. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/licences/SEABORN_LICENSE +0 -0
  64. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/__init__.py +0 -0
  65. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/__init__.py +0 -0
  66. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/gridspec.py +0 -0
  67. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/layout_manager/__init__.py +0 -0
  68. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/layout_manager/_engine.py +0 -0
  69. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/offsetbox.py +0 -0
  70. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/patches.py +0 -0
  71. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/text.py +0 -0
  72. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/ticker.py +0 -0
  73. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/transforms.py +0 -0
  74. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_mpl/utils.py +0 -0
  75. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_utils/__init__.py +0 -0
  76. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_utils/context.py +0 -0
  77. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_utils/dev.py +0 -0
  78. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_utils/ipython.py +0 -0
  79. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_utils/quarto.py +0 -0
  80. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/_utils/registry.py +0 -0
  81. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/animation.py +0 -0
  82. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/coords/__init__.py +0 -0
  83. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/coords/coord.py +0 -0
  84. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/coords/coord_cartesian.py +0 -0
  85. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/coords/coord_fixed.py +0 -0
  86. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/coords/coord_flip.py +0 -0
  87. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/coords/coord_trans.py +0 -0
  88. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/__init__.py +0 -0
  89. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/diamonds.csv +0 -0
  90. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/economics.csv +0 -0
  91. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/economics_long.csv +0 -0
  92. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/faithful.csv +0 -0
  93. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/faithfuld.csv +0 -0
  94. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/huron.csv +0 -0
  95. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/luv_colours.csv +0 -0
  96. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/meat.csv +0 -0
  97. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/midwest.csv +0 -0
  98. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/mpg.csv +0 -0
  99. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/msleep.csv +0 -0
  100. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/mtcars.csv +0 -0
  101. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/pageviews.csv +0 -0
  102. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/penguins.csv +0 -0
  103. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/presidential.csv +0 -0
  104. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/seals.csv +0 -0
  105. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/data/txhousing.csv +0 -0
  106. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/doctools.py +0 -0
  107. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/exceptions.py +0 -0
  108. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/facets/__init__.py +0 -0
  109. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/facets/facet.py +0 -0
  110. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/facets/facet_grid.py +0 -0
  111. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/facets/facet_null.py +0 -0
  112. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/facets/facet_wrap.py +0 -0
  113. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/facets/labelling.py +0 -0
  114. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/facets/layout.py +0 -0
  115. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/facets/strips.py +0 -0
  116. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/__init__.py +0 -0
  117. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/annotate.py +0 -0
  118. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/annotation_logticks.py +0 -0
  119. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/annotation_stripes.py +0 -0
  120. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom.py +0 -0
  121. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_abline.py +0 -0
  122. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_area.py +0 -0
  123. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_bin_2d.py +0 -0
  124. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_blank.py +0 -0
  125. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_boxplot.py +0 -0
  126. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_count.py +0 -0
  127. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_crossbar.py +0 -0
  128. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_density.py +0 -0
  129. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_density_2d.py +0 -0
  130. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_dotplot.py +0 -0
  131. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_errorbar.py +0 -0
  132. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_errorbarh.py +0 -0
  133. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_freqpoly.py +0 -0
  134. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_histogram.py +0 -0
  135. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_hline.py +0 -0
  136. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_jitter.py +0 -0
  137. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_label.py +0 -0
  138. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_line.py +0 -0
  139. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_linerange.py +0 -0
  140. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_map.py +0 -0
  141. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_path.py +0 -0
  142. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_point.py +0 -0
  143. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_pointdensity.py +0 -0
  144. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_pointrange.py +0 -0
  145. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_polygon.py +0 -0
  146. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_qq.py +0 -0
  147. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_qq_line.py +0 -0
  148. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_quantile.py +0 -0
  149. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_raster.py +0 -0
  150. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_rect.py +0 -0
  151. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_ribbon.py +0 -0
  152. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_rug.py +0 -0
  153. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_segment.py +0 -0
  154. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_sina.py +0 -0
  155. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_smooth.py +0 -0
  156. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_spoke.py +0 -0
  157. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_step.py +0 -0
  158. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_text.py +0 -0
  159. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_tile.py +0 -0
  160. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/geoms/geom_vline.py +0 -0
  161. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/ggplot.py +0 -0
  162. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/guides/__init__.py +0 -0
  163. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/guides/guide.py +0 -0
  164. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/guides/guide_axis.py +0 -0
  165. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/guides/guide_colorbar.py +0 -0
  166. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/guides/guide_legend.py +0 -0
  167. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/guides/guides.py +0 -0
  168. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/iapi.py +0 -0
  169. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/labels.py +0 -0
  170. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/layer.py +0 -0
  171. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/mapping/__init__.py +0 -0
  172. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/mapping/_env.py +0 -0
  173. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/options.py +0 -0
  174. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/plot_composition/__init__.py +0 -0
  175. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/plot_composition/_compose.py +0 -0
  176. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/plot_composition/_plotspec.py +0 -0
  177. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/plot_composition/_spacer.py +0 -0
  178. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/__init__.py +0 -0
  179. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/position.py +0 -0
  180. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/position_dodge.py +0 -0
  181. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/position_dodge2.py +0 -0
  182. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/position_fill.py +0 -0
  183. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/position_identity.py +0 -0
  184. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/position_jitter.py +0 -0
  185. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/position_jitterdodge.py +0 -0
  186. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/position_nudge.py +0 -0
  187. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/positions/position_stack.py +0 -0
  188. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/py.typed +0 -0
  189. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/qplot.py +0 -0
  190. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/__init__.py +0 -0
  191. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/_expand.py +0 -0
  192. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/_runtime_typing.py +0 -0
  193. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/limits.py +0 -0
  194. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/range.py +0 -0
  195. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale.py +0 -0
  196. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_alpha.py +0 -0
  197. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_color.py +0 -0
  198. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_continuous.py +0 -0
  199. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_datetime.py +0 -0
  200. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_discrete.py +0 -0
  201. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_identity.py +0 -0
  202. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_linetype.py +0 -0
  203. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_manual.py +0 -0
  204. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_shape.py +0 -0
  205. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_size.py +0 -0
  206. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_stroke.py +0 -0
  207. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scale_xy.py +0 -0
  208. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/scales/scales.py +0 -0
  209. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/__init__.py +0 -0
  210. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/binning.py +0 -0
  211. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/density.py +0 -0
  212. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/distributions.py +0 -0
  213. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/smoothers.py +0 -0
  214. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat.py +0 -0
  215. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_bin.py +0 -0
  216. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_bin_2d.py +0 -0
  217. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_bindot.py +0 -0
  218. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_boxplot.py +0 -0
  219. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_count.py +0 -0
  220. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_density.py +0 -0
  221. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_density_2d.py +0 -0
  222. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_ecdf.py +0 -0
  223. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_ellipse.py +0 -0
  224. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_function.py +0 -0
  225. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_hull.py +0 -0
  226. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_identity.py +0 -0
  227. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_pointdensity.py +0 -0
  228. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_qq.py +0 -0
  229. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_qq_line.py +0 -0
  230. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_quantile.py +0 -0
  231. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_smooth.py +0 -0
  232. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_sum.py +0 -0
  233. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_summary.py +0 -0
  234. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_summary_bin.py +0 -0
  235. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_unique.py +0 -0
  236. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/stats/stat_ydensity.py +0 -0
  237. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/__init__.py +0 -0
  238. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/elements/__init__.py +0 -0
  239. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/elements/element_base.py +0 -0
  240. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/elements/element_blank.py +0 -0
  241. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/elements/element_line.py +0 -0
  242. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/elements/element_rect.py +0 -0
  243. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/elements/element_text.py +0 -0
  244. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/elements/margin.py +0 -0
  245. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/seaborn_rcmod.py +0 -0
  246. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/targets.py +0 -0
  247. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme.py +0 -0
  248. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_538.py +0 -0
  249. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_bw.py +0 -0
  250. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_classic.py +0 -0
  251. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_dark.py +0 -0
  252. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_gray.py +0 -0
  253. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_light.py +0 -0
  254. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_linedraw.py +0 -0
  255. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_matplotlib.py +0 -0
  256. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_minimal.py +0 -0
  257. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_seaborn.py +0 -0
  258. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_tufte.py +0 -0
  259. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_void.py +0 -0
  260. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/themes/theme_xkcd.py +0 -0
  261. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/typing.py +0 -0
  262. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine/watermark.py +0 -0
  263. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine.egg-info/dependency_links.txt +0 -0
  264. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine.egg-info/requires.txt +0 -0
  265. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/plotnine.egg-info/top_level.txt +0 -0
  266. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/pyproject.toml +0 -0
  267. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/requirements/doc.txt +0 -0
  268. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/setup.cfg +0 -0
  269. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_aes/geom_crossbar.png +0 -0
  270. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_aes/reorder.png +0 -0
  271. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_aes/reorder_index.png +0 -0
  272. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_aes/stat_bin_2d.png +0 -0
  273. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_aes/stat_ecdf.png +0 -0
  274. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_aes/test_stat_function.png +0 -0
  275. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotate/multiple_annotation_geoms.png +0 -0
  276. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_logticks/annotation_logticks.png +0 -0
  277. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_logticks/annotation_logticks_base_5.png +0 -0
  278. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_logticks/annotation_logticks_base_8.png +0 -0
  279. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_logticks/annotation_logticks_coord_flip.png +0 -0
  280. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_logticks/annotation_logticks_coord_flip_discrete.png +0 -0
  281. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_logticks/annotation_logticks_coord_flip_discrete_bottom.png +0 -0
  282. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_logticks/annotation_logticks_faceting.png +0 -0
  283. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_stripes/annotation_stripes.png +0 -0
  284. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_stripes/annotation_stripes_continuous_scale.png +0 -0
  285. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_stripes/annotation_stripes_coord_flip.png +0 -0
  286. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_stripes/annotation_stripes_faceting.png +0 -0
  287. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_stripes/annotation_stripes_fill_direction_extend.png +0 -0
  288. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_stripes/annotation_stripes_fill_range.png +0 -0
  289. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_stripes/annotation_stripes_fill_range_cycle.png +0 -0
  290. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_annotation_stripes/annotation_stripes_single_stripe.png +0 -0
  291. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_coords/coord_fixed.png +0 -0
  292. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_coords/coord_flip.png +0 -0
  293. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_coords/coord_trans.png +0 -0
  294. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_coords/coord_trans_backtransform.png +0 -0
  295. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_coords/coord_trans_reverse.png +0 -0
  296. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_coords/datetime_scale_limits.png +0 -0
  297. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/aslabeller_dict_0tag.png +0 -0
  298. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/aslabeller_func_hashtagit.png +0 -0
  299. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/label_both.png +0 -0
  300. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/label_context.png +0 -0
  301. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/label_context_wrap2vars.png +0 -0
  302. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/label_value.png +0 -0
  303. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/labeller_cols_both_grid.png +0 -0
  304. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/labeller_cols_both_wrap.png +0 -0
  305. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/labeller_towords.png +0 -0
  306. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facet_labelling/uneven_num_of_lines.png +0 -0
  307. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/array_mapping_and_evaluation.png +0 -0
  308. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/dir_v_ncol.png +0 -0
  309. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_drop_false.png +0 -0
  310. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_expression.png +0 -0
  311. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_formula_only_cols.png +0 -0
  312. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_formula_only_rows.png +0 -0
  313. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_margins.png +0 -0
  314. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_one_by_one_var.png +0 -0
  315. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_scales_free_x.png +0 -0
  316. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_scales_free_y.png +0 -0
  317. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_space_free.png +0 -0
  318. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_grid_space_ratios.png +0 -0
  319. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_wrap_direction_v.png +0 -0
  320. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_wrap_expression.png +0 -0
  321. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_wrap_label_both.png +0 -0
  322. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_wrap_not_as_table.png +0 -0
  323. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_wrap_not_as_table_direction_v.png +0 -0
  324. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_wrap_one_var.png +0 -0
  325. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/facet_wrap_two_vars.png +0 -0
  326. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/manual_mapping_with_lists.png +0 -0
  327. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/non_mapped_facetting.png +0 -0
  328. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_facets/variable_and_annotate.png +0 -0
  329. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_abline/aes_inheritance.png +0 -0
  330. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_abline/aesthetics.png +0 -0
  331. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_bar_col_histogram/bar-count.png +0 -0
  332. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_bar_col_histogram/col.png +0 -0
  333. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_bar_col_histogram/histogram-count.png +0 -0
  334. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_bar_col_histogram/stat-count-float.png +0 -0
  335. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_bar_col_histogram/stat-count-int.png +0 -0
  336. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_bin_2d/drop_false.png +0 -0
  337. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_bin_2d/drop_true.png +0 -0
  338. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_blank/blank.png +0 -0
  339. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_boxplot/aesthetics+coord_flip.png +0 -0
  340. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_boxplot/aesthetics.png +0 -0
  341. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_boxplot/no_outliers.png +0 -0
  342. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_boxplot/params.png +0 -0
  343. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_boxplot/position_nudge.png +0 -0
  344. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_boxplot/weight.png +0 -0
  345. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_count/continuous_x_y.png +0 -0
  346. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_count/discrete_x.png +0 -0
  347. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_count/discrete_y.png +0 -0
  348. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_crossbar/aesthetics.png +0 -0
  349. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_density/bounds.png +0 -0
  350. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_density/few_datapoints.png +0 -0
  351. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_density/gaussian-trimmed.png +0 -0
  352. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_density/gaussian.png +0 -0
  353. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_density/gaussian_weighted.png +0 -0
  354. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_density/triangular.png +0 -0
  355. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_density_2d/contours.png +0 -0
  356. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_density_2d/points.png +0 -0
  357. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_density_2d/polygon.png +0 -0
  358. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/binaxis_y.png +0 -0
  359. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/dotdensity.png +0 -0
  360. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/group_basic.png +0 -0
  361. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/group_stackgroups.png +0 -0
  362. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/group_stackgroups_binaxis_y.png +0 -0
  363. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/histodot.png +0 -0
  364. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/stackdir_center.png +0 -0
  365. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/stackdir_centerwhole.png +0 -0
  366. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/stackdir_down.png +0 -0
  367. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_dotplot/stackratio.png +0 -0
  368. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_errorbar_errorbarh/errorbar_aesthetics.png +0 -0
  369. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_errorbar_errorbarh/errorbarh_aesthetics.png +0 -0
  370. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_freqpoly/midpoint.png +0 -0
  371. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_hline/aesthetics.png +0 -0
  372. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_linerange_pointrange/linerange_aesthetics.png +0 -0
  373. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_linerange_pointrange/pointrange_aesthetics.png +0 -0
  374. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_map/facet_wrap.png +0 -0
  375. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_map/geometries.png +0 -0
  376. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_map/multipoint.png +0 -0
  377. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_map/multipolygon.png +0 -0
  378. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_path_line_step/aesthetics.png +0 -0
  379. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_path_line_step/arrow.png +0 -0
  380. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_path_line_step/arrow_facets.png +0 -0
  381. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_path_line_step/missing_values.png +0 -0
  382. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_path_line_step/no_missing_values.png +0 -0
  383. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_path_line_step/path_line_step.png +0 -0
  384. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_path_line_step/step.png +0 -0
  385. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_path_line_step/step_mid.png +0 -0
  386. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_point/aesthetics.png +0 -0
  387. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_point/color_only_mapping.png +0 -0
  388. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_point/custom_shapes.png +0 -0
  389. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_point/legend_transparency.png +0 -0
  390. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_point/no_fill.png +0 -0
  391. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_point/no_mapping.png +0 -0
  392. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_pointdensity/contours.png +0 -0
  393. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_pointdensity/points.png +0 -0
  394. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_polygon/aesthetics.png +0 -0
  395. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_polygon/no_fill.png +0 -0
  396. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_qq_qq_line/normal.png +0 -0
  397. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_qq_qq_line/normal_with_line.png +0 -0
  398. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_quantile/lines.png +0 -0
  399. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_raster/gap_no_interpolation.png +0 -0
  400. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_raster/gap_with_interpolation.png +0 -0
  401. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_raster/rectangle.png +0 -0
  402. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_raster/square.png +0 -0
  403. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_rect_tile/coord-trans-groups.png +0 -0
  404. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_rect_tile/coord-trans.png +0 -0
  405. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_rect_tile/infinite-rects.png +0 -0
  406. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_rect_tile/rect-aesthetics.png +0 -0
  407. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_rect_tile/rect-nofill.png +0 -0
  408. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_rect_tile/tile-aesthetics.png +0 -0
  409. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_ribbon_area/area_aesthetics.png +0 -0
  410. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_ribbon_area/ribbon_aesthetics.png +0 -0
  411. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_ribbon_area/ribbon_coord_flip.png +0 -0
  412. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_ribbon_area/ribbon_facetting.png +0 -0
  413. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_ribbon_area/ribbon_outline_type.png +0 -0
  414. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_ribbon_area/ribbon_outline_type_coord_flip.png +0 -0
  415. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_ribbon_area/ribbon_where.png +0 -0
  416. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_rug/aesthetics.png +0 -0
  417. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_rug/coord_flip.png +0 -0
  418. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_segment/aesthetics.png +0 -0
  419. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_segment/arrow.png +0 -0
  420. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_sina/method_counts.png +0 -0
  421. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_sina/scale_area+coord_flip.png +0 -0
  422. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_sina/scale_area.png +0 -0
  423. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_sina/scale_count.png +0 -0
  424. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/continuous_x.png +0 -0
  425. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/continuous_x_fullrange.png +0 -0
  426. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/coord_trans_se_false.png +0 -0
  427. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/discrete_x.png +0 -0
  428. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/discrete_x_fullrange.png +0 -0
  429. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/glm_formula.png +0 -0
  430. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/gls_formula.png +0 -0
  431. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/init_and_fit_kwargs.png +0 -0
  432. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/legend_fill_ratio.png +0 -0
  433. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/linear_smooth.png +0 -0
  434. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/linear_smooth_no_ci.png +0 -0
  435. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/lm_formula.png +0 -0
  436. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/lm_formula_weights.png +0 -0
  437. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/non_linear_smooth.png +0 -0
  438. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/non_linear_smooth_no_ci.png +0 -0
  439. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/rlm_formula.png +0 -0
  440. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_smooth/sorts_by_x.png +0 -0
  441. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_spoke/aesthetics.png +0 -0
  442. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_spoke/test_unmapped_angle.png +0 -0
  443. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_text_label/adjust_label.png +0 -0
  444. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_text_label/adjust_text.png +0 -0
  445. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_text_label/adjust_text_default_color.png +0 -0
  446. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_text_label/format_missing_values.png +0 -0
  447. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_text_label/label_aesthetics.png +0 -0
  448. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_text_label/text_aesthetics.png +0 -0
  449. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_violin/aesthetics+coord_flip.png +0 -0
  450. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_violin/aesthetics.png +0 -0
  451. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_violin/no_trim.png +0 -0
  452. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_violin/quantiles_width_dodge.png +0 -0
  453. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_violin/scale.png +0 -0
  454. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_violin/scales_free.png +0 -0
  455. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_violin/style.png +0 -0
  456. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_violin/style_alternating.png +0 -0
  457. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_geom_vline/aesthetics.png +0 -0
  458. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_ggplot_internals/after_scale_mapping.png +0 -0
  459. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_ggplot_internals/to_pandas.png +0 -0
  460. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_guide_internals/guide_legend_after_scale.png +0 -0
  461. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layers/inserting_layers.png +0 -0
  462. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/axis_title_x_justification.png +0 -0
  463. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/axis_title_y_justification.png +0 -0
  464. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/colorbar_frame.png +0 -0
  465. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/default.png +0 -0
  466. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/default_tag_location.png +0 -0
  467. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/different_colorbar_themes.png +0 -0
  468. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/facet_grid.png +0 -0
  469. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/facet_wrap.png +0 -0
  470. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/inside_legend_90pct_top_right.png +0 -0
  471. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/inside_legend_left.png +0 -0
  472. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/inside_legend_top.png +0 -0
  473. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/inside_legend_top_right.png +0 -0
  474. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/justification_with_blank_title_and_text.png +0 -0
  475. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/legend_at_the_bottom.png +0 -0
  476. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/legend_at_top.png +0 -0
  477. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/legend_on_the_left.png +0 -0
  478. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/legends_in_different_positions.png +0 -0
  479. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/margin_bottom.png +0 -0
  480. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/outside_legend_bottom_left.png +0 -0
  481. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/outside_legend_left_top.png +0 -0
  482. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/outside_legend_right_bottom.png +0 -0
  483. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/outside_legend_top_right.png +0 -0
  484. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/panel_bottomleft.png +0 -0
  485. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/panel_topleft_margin_in_fig.png +0 -0
  486. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/panel_topleft_margin_in_pt.png +0 -0
  487. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/panel_topleft_margin_in_pt_ar1.png +0 -0
  488. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/panel_xycoords.png +0 -0
  489. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/plot_margin_aspect_ratio.png +0 -0
  490. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/plot_margin_protruding_axis_text.png +0 -0
  491. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/plot_title_justification.png +0 -0
  492. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/plot_titles_and_caption_positioning.png +0 -0
  493. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/plot_topright.png +0 -0
  494. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/plot_topright_margin_in_fig.png +0 -0
  495. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/plot_topright_margin_in_pt.png +0 -0
  496. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/plot_xycoords.png +0 -0
  497. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_layout/turn_off_guide.png +0 -0
  498. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/dodge.png +0 -0
  499. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/dodge2.png +0 -0
  500. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/dodge2_preserve_single_interval.png +0 -0
  501. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/dodge2_varwidth.png +0 -0
  502. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/dodge_preserve_single.png +0 -0
  503. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/dodge_preserve_single_text.png +0 -0
  504. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/dodge_segment.png +0 -0
  505. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/fill.png +0 -0
  506. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/jitter.png +0 -0
  507. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/jitterdodge.png +0 -0
  508. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/nudge.png +0 -0
  509. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/stack-negative.png +0 -0
  510. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/stack-non-linear-scale.png +0 -0
  511. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_position/stack.png +0 -0
  512. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/arrays.png +0 -0
  513. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/multiple_geoms.png +0 -0
  514. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/onlyx.png +0 -0
  515. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/onlyy.png +0 -0
  516. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/range.png +0 -0
  517. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/sample.png +0 -0
  518. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/scalars.png +0 -0
  519. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/series_labelling.png +0 -0
  520. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/string-arrays.png +0 -0
  521. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/xlim.png +0 -0
  522. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_qplot/ylim.png +0 -0
  523. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/bool_mapping.png +0 -0
  524. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/breaks_and_labels_outside_of_limits.png +0 -0
  525. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/datetime_scale_expansion.png +0 -0
  526. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/datetime_scale_limits.png +0 -0
  527. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/discrete_xy_scale_drop_limits.png +0 -0
  528. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/expand_limits.png +0 -0
  529. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/legend_ordering_added_scales.png +0 -0
  530. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_1.png +0 -0
  531. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_2.png +0 -0
  532. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_1.png +0 -0
  533. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_2.png +0 -0
  534. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/legend_ordering_mixed_scope_aesthetics.png +0 -0
  535. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/missing_data_discrete_position_scale.png +0 -0
  536. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/missing_data_discrete_scale.png +0 -0
  537. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/missing_manual_dict_aesthetic.png +0 -0
  538. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/multiple_aesthetics.png +0 -0
  539. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/ordinal_scale.png +0 -0
  540. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/test_legend_ordering_with_identity_scale.png +0 -0
  541. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/transform_aes_defaults_and_params.png +0 -0
  542. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_internals/transform_datetime_aes_param.png +0 -0
  543. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_labelling/caption_complex.png +0 -0
  544. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_labelling/caption_simple.png +0 -0
  545. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_labelling/labelling_with_colour.png +0 -0
  546. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_linetype/scale_linetype_manual_strings.png +0 -0
  547. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_linetype/scale_linetype_manual_tuples.png +0 -0
  548. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_scale_symlog/scale_y_symlog.png +0 -0
  549. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_ecdf/computed_y_column.png +0 -0
  550. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_ecdf/ecdf.png +0 -0
  551. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_ecdf/ecdf_no_pad.png +0 -0
  552. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_ellipse/ellipse.png +0 -0
  553. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_function/args.png +0 -0
  554. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_function/limits.png +0 -0
  555. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_hull/hull.png +0 -0
  556. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary/fun_args.png +0 -0
  557. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary/mean_cl_boot.png +0 -0
  558. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary/mean_cl_normal.png +0 -0
  559. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary/mean_sdl.png +0 -0
  560. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary/mean_se.png +0 -0
  561. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary/median_hilow.png +0 -0
  562. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary/summary_functions.png +0 -0
  563. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary_bin/continuous_x.png +0 -0
  564. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary_bin/discrete_x.png +0 -0
  565. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_stat_summary_bin/setting_binwidth.png +0 -0
  566. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/axis_ticks_and_length.png +0 -0
  567. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/element_text_with_sequence_values.png +0 -0
  568. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/no_ticks.png +0 -0
  569. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_538.png +0 -0
  570. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_bw.png +0 -0
  571. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_classic.png +0 -0
  572. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_dark.png +0 -0
  573. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_gray.png +0 -0
  574. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_light.png +0 -0
  575. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_linedraw.png +0 -0
  576. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_matplotlib.png +0 -0
  577. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_minimal.png +0 -0
  578. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_tufte.png +0 -0
  579. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_void.png +0 -0
  580. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_theme/theme_xkcd.png +0 -0
  581. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/baseline_images/test_watermark/watermark.png +0 -0
  582. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/conftest.py +0 -0
  583. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/images/plotnine-watermark.png +0 -0
  584. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_aes.py +0 -0
  585. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_animation.py +0 -0
  586. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_annotate.py +0 -0
  587. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_annotation_logticks.py +0 -0
  588. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_annotation_stripes.py +0 -0
  589. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_binning.py +0 -0
  590. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_coords.py +0 -0
  591. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_doctools.py +0 -0
  592. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_facet_labelling.py +0 -0
  593. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_facets.py +0 -0
  594. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom.py +0 -0
  595. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_abline.py +0 -0
  596. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_bin_2d.py +0 -0
  597. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_blank.py +0 -0
  598. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_boxplot.py +0 -0
  599. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_count.py +0 -0
  600. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_crossbar.py +0 -0
  601. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_density.py +0 -0
  602. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_density_2d.py +0 -0
  603. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_dotplot.py +0 -0
  604. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_errorbar_errorbarh.py +0 -0
  605. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_freqpoly.py +0 -0
  606. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_hline.py +0 -0
  607. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_linerange_pointrange.py +0 -0
  608. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_map.py +0 -0
  609. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_path_line_step.py +0 -0
  610. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_point.py +0 -0
  611. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_pointdensity.py +0 -0
  612. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_polygon.py +0 -0
  613. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_qq_qq_line.py +0 -0
  614. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_quantile.py +0 -0
  615. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_raster.py +0 -0
  616. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_rect_tile.py +0 -0
  617. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_ribbon_area.py +0 -0
  618. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_rug.py +0 -0
  619. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_segment.py +0 -0
  620. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_smooth.py +0 -0
  621. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_spoke.py +0 -0
  622. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_text_label.py +0 -0
  623. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_geom_vline.py +0 -0
  624. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_ggplot_internals.py +0 -0
  625. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_ggsave.py +0 -0
  626. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_guide_internals.py +0 -0
  627. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_layers.py +0 -0
  628. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_layout.py +0 -0
  629. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_lint_and_format.py +0 -0
  630. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_position.py +0 -0
  631. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_qplot.py +0 -0
  632. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_save_as_pdf_pages.py +0 -0
  633. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_scale_internals.py +0 -0
  634. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_scale_labelling.py +0 -0
  635. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_scale_linetype.py +0 -0
  636. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_scale_symlog.py +0 -0
  637. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_stat.py +0 -0
  638. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_stat_calculate_methods.py +0 -0
  639. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_stat_ecdf.py +0 -0
  640. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_stat_ellipse.py +0 -0
  641. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_stat_function.py +0 -0
  642. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_stat_hull.py +0 -0
  643. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_stat_summary.py +0 -0
  644. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_stat_summary_bin.py +0 -0
  645. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_theme.py +0 -0
  646. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_utils.py +0 -0
  647. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tests/test_watermark.py +0 -0
  648. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tools/gha_check_semver.py +0 -0
  649. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tools/release-checklist-tpl.md +0 -0
  650. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tools/release-checklist.py +0 -0
  651. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tools/term.py +0 -0
  652. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tools/update_baseline_images.py +0 -0
  653. {plotnine-0.15.0.dev2 → plotnine-0.15.0.dev3}/tools/visualize_tests.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: plotnine
3
- Version: 0.15.0.dev2
3
+ Version: 0.15.0.dev3
4
4
  Summary: A Grammar of Graphics for Python
5
5
  Author-email: Hassan Kibirige <has2k1@gmail.com>
6
6
  License: The MIT License (MIT)
@@ -38,6 +38,17 @@ quartodoc:
38
38
  - after_scale
39
39
  - stage
40
40
 
41
+ - subtitle: Functions in the Aesthetic Evaluation Environment
42
+ desc: |
43
+ The expressions you write in the `aes()` call are evaluated inside an
44
+ environment with a few functions that you may need from time to time.
45
+ These functions are for your convenience, and you can expect them to
46
+ to always be there.
47
+ package: plotnine.mapping._eval_environment
48
+ contents:
49
+ - factor
50
+ - reorder
51
+
41
52
  - title: Geoms
42
53
  desc: |
43
54
  Geometric objects (geoms) are responsible for the visual representation
@@ -68,12 +68,22 @@ title: Changelog
68
68
  )
69
69
  ```
70
70
 
71
+ - Geoms [](:class:`~plotnine.geom_bar`) and [](:class:`~plotnine.geom_col`) have
72
+ gained new parameter `just` that controls how the bars align with the axis break point.
73
+
74
+ - [](:class:`~plotnine.geom_sina`) has gained new parameter `style` just like
75
+ [](:class:`~plotnine.geom_violin`), which make one-sided (half) sina plots.
76
+
71
77
  ### Enhancements
72
78
 
73
79
  - Included datasets [](:attr:`~plotnine.data.mpg`), [](:attr:`~plotnine.data.msleep`) and
74
80
  [](:attr:`~plotnine.data.midwest`) no longer have any of their columns as categoricals.
75
81
  This matches the respective datasets in R. {{< issue 913 >}}
76
82
 
83
+ - When the `width` of the violins in [](:class:`~plotnine.geom_violin`) is wider than their
84
+ normal area, they now overlap with those closest to the origin on top. This makes it possible
85
+ to create overlapping ridge plots using half violins.
86
+
77
87
  ### Bug Fixes
78
88
 
79
89
  - Fixed bug in with the `legend_key_height` themeable where it wasn't applied.
@@ -90,6 +100,7 @@ title: Changelog
90
100
  - Fixed bug where computed aesthetic from `after_scale` are were not applied to the legend.
91
101
  {{< issue 926 >}}
92
102
 
103
+ - Fixed theming of minor x axis ticks.
93
104
 
94
105
  ## v0.14.5
95
106
  (2025-01-02)
@@ -299,40 +299,6 @@ class LayoutItems:
299
299
 
300
300
  return chain(major, minor)
301
301
 
302
- def axis_text_x_margin(self, ax: Axes) -> Iterator[float]:
303
- """
304
- Return XTicks paddings
305
- """
306
- # In plotnine tick padding are specified as a margin to the
307
- # the axis_text.
308
- major, minor = [], []
309
- if not self._is_blank("axis_text_x"):
310
- h = self.plot.figure.bbox.height
311
- major = [
312
- (t.get_pad() or 0) / h for t in ax.xaxis.get_major_ticks()
313
- ]
314
- minor = [
315
- (t.get_pad() or 0) / h for t in ax.xaxis.get_minor_ticks()
316
- ]
317
- return chain(major, minor)
318
-
319
- def axis_text_y_margin(self, ax: Axes) -> Iterator[float]:
320
- """
321
- Return YTicks paddings
322
- """
323
- # In plotnine tick padding are specified as a margin to the
324
- # the axis_text.
325
- major, minor = [], []
326
- if not self._is_blank("axis_text_y"):
327
- w = self.plot.figure.bbox.width
328
- major = [
329
- (t.get_pad() or 0) / w for t in ax.yaxis.get_major_ticks()
330
- ]
331
- minor = [
332
- (t.get_pad() or 0) / w for t in ax.yaxis.get_minor_ticks()
333
- ]
334
- return chain(major, minor)
335
-
336
302
  def strip_text_x_height(self, position: StripPosition) -> float:
337
303
  """
338
304
  Height taken up by the top strips
@@ -377,10 +343,7 @@ class LayoutItems:
377
343
  Return maximum height[figure space] of x tick labels
378
344
  """
379
345
  heights = [
380
- self.calc.tight_height(label) + pad
381
- for label, pad in zip(
382
- self.axis_text_x(ax), self.axis_text_x_margin(ax)
383
- )
346
+ self.calc.tight_height(label) for label in self.axis_text_x(ax)
384
347
  ]
385
348
  return max(heights) if len(heights) else 0
386
349
 
@@ -410,10 +373,7 @@ class LayoutItems:
410
373
  Return maximum width[figure space] of y tick labels
411
374
  """
412
375
  widths = [
413
- self.calc.tight_width(label) + pad
414
- for label, pad in zip(
415
- self.axis_text_y(ax), self.axis_text_y_margin(ax)
416
- )
376
+ self.calc.tight_width(label) for label in self.axis_text_y(ax)
417
377
  ]
418
378
  return max(widths) if len(widths) else 0
419
379
 
@@ -1,7 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import abc
4
- from contextlib import suppress
5
4
  from dataclasses import dataclass
6
5
  from functools import cached_property
7
6
  from typing import TYPE_CHECKING
@@ -81,6 +80,13 @@ class LayoutTree:
81
80
  represents.
82
81
  """
83
82
 
83
+ @cached_property
84
+ def sub_compositions(self) -> list[LayoutTree]:
85
+ """
86
+ LayoutTrees of the direct sub compositions of this one
87
+ """
88
+ return [item for item in self.nodes if isinstance(item, LayoutTree)]
89
+
84
90
  @cached_property
85
91
  @abc.abstractmethod
86
92
  def lefts(self) -> Sequence[float]:
@@ -141,89 +147,54 @@ class LayoutTree:
141
147
  In figure dimenstions
142
148
  """
143
149
 
144
- def align_lefts(self):
150
+ @abc.abstractmethod
151
+ def align(self):
145
152
  """
146
- Align the immediate left edges in this composition
153
+ Align all the edges in this composition & contained compositions
147
154
 
148
- ----------- -----------
149
- |# | | # |
150
- |# | | # |
151
- |# | | # |
152
- |-----------| -> |-----------|
153
- | # | | # |
154
- | # | | # |
155
- | # | | # |
156
- ----------- -----------
155
+ This function mutates the layout spaces, specifically the
156
+ alignment_margins along the sides of the plot.
157
157
  """
158
158
 
159
- def align_bottoms(self):
159
+ def align_sub_compositions(self):
160
160
  """
161
- Align the immediate bottom edges this composition
162
-
163
- ----------- -----------
164
- | | | | | |
165
- | | | | | |
166
- | | | -> | | |
167
- | |#####| |#####|#####|
168
- |#####| | | | |
169
- ----------- -----------
161
+ Align the compositions contained in this one
170
162
  """
163
+ # Recurse into the contained compositions
164
+ for tree in self.sub_compositions:
165
+ tree.align()
171
166
 
172
- def align_rights(self):
167
+ @property
168
+ def bottoms_align(self) -> bool:
173
169
  """
174
- Align the immediate right edges in this composition
175
-
176
- ----------- -----------
177
- | # | | # |
178
- | # | | # |
179
- | # | | # |
180
- |-----------| -> |-----------|
181
- | #| | # |
182
- | #| | # |
183
- | #| | # |
184
- ----------- -----------
170
+ Return True if panel bottoms for the nodes are aligned
185
171
  """
172
+ arr = np.array(self.bottoms)
173
+ return all(arr == arr[0])
186
174
 
187
- def align_tops(self):
175
+ @property
176
+ def lefts_align(self) -> bool:
188
177
  """
189
- Align the immediate top edges in this composition
190
-
191
- ----------- -----------
192
- |#####| | | | |
193
- | |#####| |#####|#####|
194
- | | | -> | | |
195
- | | | | | |
196
- | | | | | |
197
- ----------- -----------
178
+ Return True if panel lefts for the nodes are aligned
198
179
  """
180
+ arr = np.array(self.lefts)
181
+ return all(arr == arr[0])
199
182
 
200
- def align(self):
183
+ @property
184
+ def tops_align(self) -> bool:
201
185
  """
202
- Align all the edges in this composition & contained compositions
203
-
204
- This function mutates the layout spaces, specifically the
205
- alignment_margins along the sides of the plot.
186
+ Return True if panel tops for the nodes are aligned
206
187
  """
207
- self.align_lefts()
208
- self.align_bottoms()
209
- self.align_rights()
210
- self.align_tops()
211
-
212
- for item in self.nodes:
213
- if isinstance(item, LayoutTree):
214
- item.align()
215
-
216
- with suppress(AttributeError):
217
- del self.lefts
218
-
219
- with suppress(AttributeError):
220
- del self.bottoms
188
+ arr = np.array(self.tops)
189
+ return all(arr == arr[0])
221
190
 
222
- with suppress(AttributeError):
223
- del self.rights
224
-
225
- with suppress(AttributeError):
226
- del self.tops
191
+ @property
192
+ def rights_align(self) -> bool:
193
+ """
194
+ Return True if panel rights for the nodes are aligned
195
+ """
196
+ arr = np.array(self.rights)
197
+ return all(arr == arr[0])
227
198
 
228
199
  @property
229
200
  @abc.abstractmethod
@@ -288,22 +259,13 @@ class LayoutTree:
288
259
  This function mutates the composition gridspecs; specifically the
289
260
  width_ratios and height_ratios.
290
261
  """
291
- self.resize_widths()
292
- self.resize_heights()
293
262
 
294
- for item in self.nodes:
295
- if isinstance(item, LayoutTree):
296
- item.resize()
297
-
298
- def resize_widths(self):
263
+ def resize_sub_compositions(self):
299
264
  """
300
- Resize the widths of gridspec so that panels have equal widths
301
- """
302
-
303
- def resize_heights(self):
304
- """
305
- Resize the heights of gridspec so that panels have equal heights
265
+ Resize panels in the compositions contained in this one
306
266
  """
267
+ for tree in self.sub_compositions:
268
+ tree.resize()
307
269
 
308
270
  @staticmethod
309
271
  def create(
@@ -368,6 +330,11 @@ class ColumnsTree(LayoutTree):
368
330
  -------------------
369
331
  """
370
332
 
333
+ def align(self):
334
+ self.align_tops()
335
+ self.align_bottoms()
336
+ self.align_sub_compositions()
337
+
371
338
  @cached_property
372
339
  def lefts(self):
373
340
  left_item = self.nodes[0]
@@ -383,14 +350,6 @@ class ColumnsTree(LayoutTree):
383
350
  else:
384
351
  left_item.set_left_alignment_margin(value)
385
352
 
386
- def align_bottoms(self):
387
- values = max(self.bottoms) - np.array(self.bottoms)
388
- for item, value in zip(self.nodes, values):
389
- if isinstance(item, LayoutSpaces):
390
- item.b.alignment_margin = value
391
- else:
392
- item.set_bottom_alignment_margin(value)
393
-
394
353
  @cached_property
395
354
  def bottoms(self):
396
355
  values = []
@@ -401,6 +360,33 @@ class ColumnsTree(LayoutTree):
401
360
  values.append(max(item.bottoms))
402
361
  return values
403
362
 
363
+ def align_bottoms(self):
364
+ """
365
+ Align the immediate bottom edges this composition
366
+
367
+ ----------- -----------
368
+ | | | | | |
369
+ | | | | | |
370
+ | | | -> | | |
371
+ | |#####| |#####|#####|
372
+ |#####| | | | |
373
+ ----------- -----------
374
+ """
375
+ # If panels are aligned and have a non-zero alignment_margin,
376
+ # aligning them again will set that value to zero and undoes
377
+ # the alignment.
378
+ if self.bottoms_align:
379
+ return
380
+
381
+ values = max(self.bottoms) - np.array(self.bottoms)
382
+ for item, value in zip(self.nodes, values):
383
+ if isinstance(item, LayoutSpaces):
384
+ item.b.alignment_margin = value
385
+ else:
386
+ item.set_bottom_alignment_margin(value)
387
+
388
+ del self.bottoms
389
+
404
390
  def set_bottom_alignment_margin(self, value: float):
405
391
  for item in self.nodes:
406
392
  if isinstance(item, LayoutSpaces):
@@ -423,14 +409,6 @@ class ColumnsTree(LayoutTree):
423
409
  else:
424
410
  right_item.set_right_alignment_margin(value)
425
411
 
426
- def align_tops(self):
427
- values = np.array(self.tops) - min(self.tops)
428
- for item, value in zip(self.nodes, values):
429
- if isinstance(item, LayoutSpaces):
430
- item.t.alignment_margin = value
431
- else:
432
- item.set_top_alignment_margin(value)
433
-
434
412
  @cached_property
435
413
  def tops(self):
436
414
  values = []
@@ -441,6 +419,30 @@ class ColumnsTree(LayoutTree):
441
419
  values.append(min(item.tops))
442
420
  return values
443
421
 
422
+ def align_tops(self):
423
+ """
424
+ Align the immediate top edges in this composition
425
+
426
+ ----------- -----------
427
+ |#####| | | | |
428
+ | |#####| |#####|#####|
429
+ | | | -> | | |
430
+ | | | | | |
431
+ | | | | | |
432
+ ----------- -----------
433
+ """
434
+ if self.tops_align:
435
+ return
436
+
437
+ values = np.array(self.tops) - min(self.tops)
438
+ for item, value in zip(self.nodes, values):
439
+ if isinstance(item, LayoutSpaces):
440
+ item.t.alignment_margin = value
441
+ else:
442
+ item.set_top_alignment_margin(value)
443
+
444
+ del self.tops
445
+
444
446
  def set_top_alignment_margin(self, value: float):
445
447
  for item in self.nodes:
446
448
  if isinstance(item, LayoutSpaces):
@@ -476,7 +478,10 @@ class ColumnsTree(LayoutTree):
476
478
  """
477
479
  return max(self.plot_heights)
478
480
 
479
- def resize_widths(self):
481
+ def resize(self):
482
+ """
483
+ Resize the widths of gridspec so that panels have equal widths
484
+ """
480
485
  # The new width of each panel is the average width of all
481
486
  # the panels plus all the space to the left and right
482
487
  # of the panels.
@@ -486,6 +491,7 @@ class ColumnsTree(LayoutTree):
486
491
  new_plot_widths = panel_widths.mean() + non_panel_space
487
492
  width_ratios = new_plot_widths / new_plot_widths.min()
488
493
  self.gridspec.set_width_ratios(width_ratios)
494
+ self.resize_sub_compositions()
489
495
 
490
496
 
491
497
  @dataclass
@@ -506,13 +512,10 @@ class RowsTree(LayoutTree):
506
512
  -------------------
507
513
  """
508
514
 
509
- def align_lefts(self):
510
- values = max(self.lefts) - np.array(self.lefts)
511
- for item, value in zip(self.nodes, values):
512
- if isinstance(item, LayoutSpaces):
513
- item.l.alignment_margin = value
514
- else:
515
- item.set_left_alignment_margin(value)
515
+ def align(self):
516
+ self.align_lefts()
517
+ self.align_rights()
518
+ self.align_sub_compositions()
516
519
 
517
520
  @cached_property
518
521
  def lefts(self):
@@ -524,6 +527,32 @@ class RowsTree(LayoutTree):
524
527
  values.append(max(item.lefts))
525
528
  return values
526
529
 
530
+ def align_lefts(self):
531
+ """
532
+ Align the immediate left edges in this composition
533
+
534
+ ----------- -----------
535
+ |# | | # |
536
+ |# | | # |
537
+ |# | | # |
538
+ |-----------| -> |-----------|
539
+ | # | | # |
540
+ | # | | # |
541
+ | # | | # |
542
+ ----------- -----------
543
+ """
544
+ if self.lefts_align:
545
+ return
546
+
547
+ values = max(self.lefts) - np.array(self.lefts)
548
+ for item, value in zip(self.nodes, values):
549
+ if isinstance(item, LayoutSpaces):
550
+ item.l.alignment_margin = value
551
+ else:
552
+ item.set_left_alignment_margin(value)
553
+
554
+ del self.lefts
555
+
527
556
  def set_left_alignment_margin(self, value: float):
528
557
  for item in self.nodes:
529
558
  if isinstance(item, LayoutSpaces):
@@ -546,14 +575,6 @@ class RowsTree(LayoutTree):
546
575
  else:
547
576
  bottom_item.set_bottom_alignment_margin(value)
548
577
 
549
- def align_rights(self):
550
- values = np.array(self.rights) - min(self.rights)
551
- for item, value in zip(self.nodes, values):
552
- if isinstance(item, LayoutSpaces):
553
- item.r.alignment_margin = value
554
- else:
555
- item.set_right_alignment_margin(value)
556
-
557
578
  @cached_property
558
579
  def rights(self):
559
580
  values = []
@@ -564,6 +585,32 @@ class RowsTree(LayoutTree):
564
585
  values.append(min(item.rights))
565
586
  return values
566
587
 
588
+ def align_rights(self):
589
+ """
590
+ Align the immediate right edges in this composition
591
+
592
+ ----------- -----------
593
+ | # | | # |
594
+ | # | | # |
595
+ | # | | # |
596
+ |-----------| -> |-----------|
597
+ | #| | # |
598
+ | #| | # |
599
+ | #| | # |
600
+ ----------- -----------
601
+ """
602
+ if self.rights_align:
603
+ return
604
+
605
+ values = np.array(self.rights) - min(self.rights)
606
+ for item, value in zip(self.nodes, values):
607
+ if isinstance(item, LayoutSpaces):
608
+ item.r.alignment_margin = value
609
+ else:
610
+ item.set_right_alignment_margin(value)
611
+
612
+ del self.rights
613
+
567
614
  def set_right_alignment_margin(self, value: float):
568
615
  for item in self.nodes:
569
616
  if isinstance(item, LayoutSpaces):
@@ -614,8 +661,13 @@ class RowsTree(LayoutTree):
614
661
  """
615
662
  return sum(self.plot_heights)
616
663
 
617
- def resize_heights(self):
618
- # The new width of each panel is the average width of all
664
+ def resize(self):
665
+ """
666
+ Resize the heights of gridspec so that panels have equal heights
667
+
668
+ This method resizes (recursively) the contained compositions
669
+ """
670
+ # The new height of each panel is the average width of all
619
671
  # the panels plus all the space above and below the panels.
620
672
  plot_heights = np.array(self.plot_heights)
621
673
  panel_heights = np.array(self.panel_heights)
@@ -623,3 +675,4 @@ class RowsTree(LayoutTree):
623
675
  new_plot_heights = panel_heights.mean() + non_panel_space
624
676
  height_ratios = new_plot_heights / new_plot_heights.max()
625
677
  self.gridspec.set_height_ratios(height_ratios)
678
+ self.resize_sub_compositions()
@@ -222,7 +222,9 @@ class left_spaces(_side_spaces):
222
222
  axis_title_y_margin_left: float = 0
223
223
  axis_title_y: float = 0
224
224
  axis_title_y_margin_right: float = 0
225
+ axis_text_y_margin_left: float = 0
225
226
  axis_text_y: float = 0
227
+ axis_text_y_margin_right: float = 0
226
228
  axis_ticks_y: float = 0
227
229
 
228
230
  def _calculate(self):
@@ -256,6 +258,11 @@ class left_spaces(_side_spaces):
256
258
 
257
259
  # Account for the space consumed by the axis
258
260
  self.axis_text_y = items.axis_text_y_max_width_at("first_col")
261
+ if self.axis_text_y:
262
+ m = theme.get_margin("axis_text_y").fig
263
+ self.axis_text_y_margin_left = m.l
264
+ self.axis_text_y_margin_right = m.r
265
+
259
266
  self.axis_ticks_y = items.axis_ticks_y_max_width_at("first_col")
260
267
 
261
268
  # Adjust plot_margin to make room for ylabels that protude well
@@ -576,7 +583,9 @@ class bottom_spaces(_side_spaces):
576
583
  axis_title_x_margin_bottom: float = 0
577
584
  axis_title_x: float = 0
578
585
  axis_title_x_margin_top: float = 0
586
+ axis_text_x_margin_bottom: float = 0
579
587
  axis_text_x: float = 0
588
+ axis_text_x_margin_top: float = 0
580
589
  axis_ticks_x: float = 0
581
590
 
582
591
  def _calculate(self):
@@ -616,8 +625,12 @@ class bottom_spaces(_side_spaces):
616
625
  self.axis_title_x_margin_top = m.t * F
617
626
 
618
627
  # Account for the space consumed by the axis
619
- self.axis_ticks_x = items.axis_ticks_x_max_height_at("last_row")
620
628
  self.axis_text_x = items.axis_text_x_max_height_at("last_row")
629
+ if self.axis_text_x:
630
+ m = theme.get_margin("axis_text_x").fig
631
+ self.axis_text_x_margin_bottom = m.b
632
+ self.axis_text_x_margin_top = m.t
633
+ self.axis_ticks_x = items.axis_ticks_x_max_height_at("last_row")
621
634
 
622
635
  # Adjust plot_margin to make room for ylabels that protude well
623
636
  # beyond the axes
@@ -736,7 +749,7 @@ class LayoutSpaces:
736
749
  sw: float = field(init=False, default=0)
737
750
  """vertical spacing btn panels w.r.t figure"""
738
751
 
739
- gsparams: GridSpecParams = field(init=False)
752
+ gsparams: GridSpecParams = field(init=False, repr=False)
740
753
  """Grid spacing btn panels w.r.t figure"""
741
754
 
742
755
  def __post_init__(self):
@@ -20,6 +20,11 @@ class geom_bar(geom_rect):
20
20
  Parameters
21
21
  ----------
22
22
  {common_parameters}
23
+ just : float, default=0.5
24
+ How to align the column with respect to the axis breaks. The default
25
+ `0.5` aligns the center of the column with the break. `0` aligns the
26
+ left of the of the column with the break and `1` aligns the right of
27
+ the column with the break.
23
28
  width : float, default=None
24
29
  Bar width. If `None`{.py}, the width is set to
25
30
  `90%` of the resolution of the data.
@@ -35,6 +40,7 @@ class geom_bar(geom_rect):
35
40
  "stat": "count",
36
41
  "position": "stack",
37
42
  "na_rm": False,
43
+ "just": 0.5,
38
44
  "width": None,
39
45
  }
40
46
 
@@ -45,6 +51,8 @@ class geom_bar(geom_rect):
45
51
  else:
46
52
  data["width"] = resolution(data["x"], False) * 0.9
47
53
 
54
+ just = self.params.get("just", 0.5)
55
+
48
56
  bool_idx = data["y"] < 0
49
57
 
50
58
  data["ymin"] = 0.0
@@ -53,7 +61,7 @@ class geom_bar(geom_rect):
53
61
  data["ymax"] = data["y"]
54
62
  data.loc[bool_idx, "ymax"] = 0.0
55
63
 
56
- data["xmin"] = data["x"] - data["width"] / 2
57
- data["xmax"] = data["x"] + data["width"] / 2
64
+ data["xmin"] = data["x"] - data["width"] * just
65
+ data["xmax"] = data["x"] + data["width"] * (1 - just)
58
66
  del data["width"]
59
67
  return data
@@ -17,6 +17,11 @@ class geom_col(geom_bar):
17
17
  Parameters
18
18
  ----------
19
19
  {common_parameters}
20
+ just : float, default=0.5
21
+ How to align the column with respect to the axis breaks. The default
22
+ `0.5` aligns the center of the column with the break. `0` aligns the
23
+ left of the of the column with the break and `1` aligns the right of
24
+ the column with the break.
20
25
  width : float, default=None
21
26
  Bar width. If `None`{.py}, the width is set to
22
27
  `90%` of the resolution of the data.
@@ -32,5 +37,6 @@ class geom_col(geom_bar):
32
37
  "stat": "identity",
33
38
  "position": "stack",
34
39
  "na_rm": False,
40
+ "just": 0.5,
35
41
  "width": None,
36
42
  }