plotnine 0.15.0a2__tar.gz → 0.15.0a4__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.
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/Makefile +1 -0
- {plotnine-0.15.0a2/plotnine.egg-info → plotnine-0.15.0a4}/PKG-INFO +4 -4
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/Makefile +1 -1
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/_quartodoc.yml +11 -11
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/_renderer.py +23 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/changelog.qmd +24 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/layout_manager/_layout_tree.py +16 -6
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_utils/__init__.py +7 -103
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/doctools.py +3 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/annotate.py +10 -10
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/annotation_logticks.py +5 -8
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/annotation_stripes.py +4 -6
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom.py +41 -20
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_abline.py +3 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_blank.py +0 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_boxplot.py +4 -4
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_crossbar.py +3 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_dotplot.py +1 -1
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_errorbar.py +2 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_errorbarh.py +2 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_hline.py +3 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_linerange.py +2 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_map.py +3 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_path.py +10 -11
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_point.py +4 -5
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_pointrange.py +3 -5
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_polygon.py +2 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_raster.py +4 -5
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_rect.py +3 -4
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_ribbon.py +7 -7
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_rug.py +1 -1
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_segment.py +2 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_smooth.py +3 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_step.py +2 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_text.py +2 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_violin.py +4 -5
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_vline.py +3 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/guides/guides.py +1 -1
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/layer.py +20 -12
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/mapping/_eval_environment.py +1 -1
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/mapping/aes.py +75 -45
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_color.py +46 -14
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_continuous.py +4 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_datetime.py +28 -14
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_discrete.py +1 -1
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_xy.py +2 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/smoothers.py +19 -19
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat.py +15 -25
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_bin.py +2 -5
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_bin_2d.py +7 -9
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_bindot.py +5 -8
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_boxplot.py +5 -5
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_count.py +5 -9
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_density.py +5 -8
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_density_2d.py +11 -8
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_ecdf.py +6 -5
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_ellipse.py +5 -6
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_function.py +6 -8
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_hull.py +2 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_identity.py +1 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_pointdensity.py +4 -7
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_qq.py +45 -20
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_qq_line.py +15 -11
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_quantile.py +6 -7
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_sina.py +12 -14
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_smooth.py +7 -10
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_sum.py +1 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_summary.py +6 -9
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_summary_bin.py +10 -13
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_unique.py +1 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/stat_ydensity.py +7 -10
- {plotnine-0.15.0a2 → plotnine-0.15.0a4/plotnine.egg-info}/PKG-INFO +4 -4
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine.egg-info/SOURCES.txt +3 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine.egg-info/requires.txt +3 -3
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/pyproject.toml +3 -3
- plotnine-0.15.0a4/tests/baseline_images/test_aes/irregular_shapes.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_annotate/annotate_faceting.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_coords/coord_fixed.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_coords/coord_flip.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_coords/coord_trans.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_coords/coord_trans_reverse.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/array_mapping_and_evaluation.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_grid_expression.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_grid_formula_only_cols.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_grid_formula_only_rows.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_grid_margins.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_grid_one_by_one_var.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_grid_scales_free_x.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_grid_scales_free_y.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_wrap_direction_v.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_wrap_expression.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_wrap_label_both.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_wrap_not_as_table.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_wrap_not_as_table_direction_v.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_wrap_one_var.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/facet_wrap_two_vars.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/manual_mapping_with_lists.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/non_mapped_facetting.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_facets/variable_and_annotate.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_abline/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_bar_col_histogram/bar-count.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_bar_col_histogram/col.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_bar_col_histogram/histogram-count.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_bar_col_histogram/stat-count-float.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_bar_col_histogram/stat-count-int.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_boxplot/aesthetics+coord_flip.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_boxplot/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_boxplot/params.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_crossbar/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_density/few_datapoints.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_density/gaussian-trimmed.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_density/gaussian.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_density/gaussian_weighted.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_density/triangular.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_dotplot/group_basic.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_dotplot/group_stackgroups.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_dotplot/group_stackgroups_binaxis_y.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_errorbar_errorbarh/errorbarh_aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_freqpoly/midpoint.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_hline/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_point/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_point/color_only_mapping.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_polygon/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_rect_tile/coord-trans-groups.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_rect_tile/rect-aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_rect_tile/tile-aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_ribbon_area/area_aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_ribbon_area/ribbon_aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_ribbon_area/ribbon_facetting.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_segment/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_smooth/legend_fill_ratio.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_spoke/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_text_label/label_aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_text_label/text_aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_violin/aesthetics+coord_flip.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_violin/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_violin/overlap.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_violin/quantiles_width_dodge.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_geom_vline/aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_guide_internals/guide_legend_after_scale.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_plot_composition/complex_composition.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_plot_composition/facets.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/dodge.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/dodge2.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/dodge2_varwidth.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/dodge_preserve_single.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/dodge_preserve_single_text.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/fill.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/jitterdodge.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/stack-negative.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/stack-non-linear-scale.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_position/stack.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/datetime_scale_expansion.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/discrete_xy_scale_drop_limits.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/legend_ordering_added_scales.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_1.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_2.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_1.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_2.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/legend_ordering_mixed_scope_aesthetics.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/missing_data_discrete_position_scale.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/missing_data_discrete_scale.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_scale_internals/transform_datetime_aes_param.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_stat_hull/hull.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_theme/theme_xkcd.png +0 -0
- plotnine-0.15.0a4/tests/baseline_images/test_theme/theme_xkcd_ci.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_aes.py +32 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_annotate.py +28 -1
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_ggplot_internals.py +22 -19
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_stat.py +1 -2
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_theme.py +17 -6
- plotnine-0.15.0a2/tests/baseline_images/test_coords/coord_fixed.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_coords/coord_flip.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_coords/coord_trans.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_coords/coord_trans_reverse.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/array_mapping_and_evaluation.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_grid_expression.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_grid_formula_only_cols.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_grid_formula_only_rows.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_grid_margins.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_grid_one_by_one_var.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_grid_scales_free_x.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_grid_scales_free_y.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_wrap_direction_v.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_wrap_expression.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_wrap_label_both.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_wrap_not_as_table.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_wrap_not_as_table_direction_v.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_wrap_one_var.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/facet_wrap_two_vars.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/manual_mapping_with_lists.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/non_mapped_facetting.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_facets/variable_and_annotate.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_abline/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_bar_col_histogram/bar-count.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_bar_col_histogram/col.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_bar_col_histogram/histogram-count.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_bar_col_histogram/stat-count-float.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_bar_col_histogram/stat-count-int.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_boxplot/aesthetics+coord_flip.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_boxplot/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_boxplot/params.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_crossbar/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_density/few_datapoints.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_density/gaussian-trimmed.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_density/gaussian.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_density/gaussian_weighted.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_density/triangular.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_dotplot/group_basic.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_dotplot/group_stackgroups.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_dotplot/group_stackgroups_binaxis_y.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_errorbar_errorbarh/errorbarh_aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_freqpoly/midpoint.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_hline/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_point/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_point/color_only_mapping.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_polygon/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_rect_tile/coord-trans-groups.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_rect_tile/rect-aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_rect_tile/tile-aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_ribbon_area/area_aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_ribbon_area/ribbon_aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_ribbon_area/ribbon_facetting.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_segment/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_smooth/legend_fill_ratio.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_spoke/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_text_label/label_aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_text_label/text_aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_violin/aesthetics+coord_flip.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_violin/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_violin/overlap.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_violin/quantiles_width_dodge.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_geom_vline/aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_guide_internals/guide_legend_after_scale.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_plot_composition/complex_composition.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_plot_composition/facets.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/dodge.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/dodge2.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/dodge2_varwidth.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/dodge_preserve_single.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/dodge_preserve_single_text.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/fill.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/jitterdodge.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/stack-negative.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/stack-non-linear-scale.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_position/stack.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/datetime_scale_expansion.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/discrete_xy_scale_drop_limits.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/legend_ordering_added_scales.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_1.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/legend_ordering_global_aesthetics_2.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_1.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/legend_ordering_local_aesthetics_2.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/legend_ordering_mixed_scope_aesthetics.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/missing_data_discrete_position_scale.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/missing_data_discrete_scale.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_scale_internals/transform_datetime_aes_param.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_stat_hull/hull.png +0 -0
- plotnine-0.15.0a2/tests/baseline_images/test_theme/theme_xkcd.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.gitattributes +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.github/DISCUSSION_TEMPLATE/2024-plotnine-contest.yml +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.github/utils/_repo.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.github/utils/please.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.github/workflows/documentation.yml +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.github/workflows/release.yml +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.github/workflows/testing.yml +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.github/workflows/weekly.yml +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.gitignore +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.pre-commit-config.yaml +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/.readthedocs.yaml +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/CITATION.bib +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/LICENSE +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/README.md +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/code-of-conduct.md +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/codecov.yml +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/.gitignore +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/_config.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/_quarto.yml +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/favicon-16x16.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/favicon-32x32.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/logo-512.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/logo.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/readme-image-1.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/readme-image-2.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/readme-image-3.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/readme-image-4.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/readme-image-5.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/readme-image-5alt.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/images/readme_images.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/doc/plotnine.scss +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/licences/SEABORN_LICENSE +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/gridspec.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/layout_manager/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/layout_manager/_engine.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/layout_manager/_layout_items.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/layout_manager/_spaces.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/offsetbox.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/patches.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/text.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/ticker.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/transforms.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_mpl/utils.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_utils/context.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_utils/dev.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_utils/ipython.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_utils/quarto.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_utils/registry.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/_utils/yippie.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/animation.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/coords/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/coords/coord.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/coords/coord_cartesian.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/coords/coord_fixed.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/coords/coord_flip.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/coords/coord_trans.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/anscombe-quartet.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/diamonds.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/economics.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/economics_long.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/faithful.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/faithfuld.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/huron.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/luv_colours.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/meat.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/midwest.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/mpg.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/msleep.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/mtcars.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/pageviews.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/penguins.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/presidential.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/seals.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/data/txhousing.csv +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/exceptions.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/facets/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/facets/facet.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/facets/facet_grid.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/facets/facet_null.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/facets/facet_wrap.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/facets/labelling.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/facets/layout.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/facets/strips.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_area.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_bar.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_bin_2d.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_col.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_count.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_density.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_density_2d.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_freqpoly.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_histogram.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_jitter.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_label.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_line.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_pointdensity.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_qq.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_qq_line.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_quantile.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_sina.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_spoke.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/geoms/geom_tile.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/ggplot.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/guides/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/guides/guide.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/guides/guide_axis.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/guides/guide_colorbar.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/guides/guide_legend.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/helpers.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/iapi.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/labels.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/mapping/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/mapping/_env.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/mapping/evaluation.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/options.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/plot_composition/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/plot_composition/_compose.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/plot_composition/_plotspec.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/plot_composition/_spacer.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/position.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/position_dodge.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/position_dodge2.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/position_fill.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/position_identity.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/position_jitter.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/position_jitterdodge.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/position_nudge.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/positions/position_stack.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/py.typed +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/qplot.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/_expand.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/_runtime_typing.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/limits.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/range.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_alpha.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_identity.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_linetype.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_manual.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_shape.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_size.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scale_stroke.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/scales/scales.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/binning.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/density.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/stats/distributions.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/elements/__init__.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/elements/element_base.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/elements/element_blank.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/elements/element_line.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/elements/element_rect.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/elements/element_text.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/elements/margin.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/seaborn_rcmod.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/targets.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_538.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_bw.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_classic.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_dark.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_gray.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_light.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_linedraw.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_matplotlib.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_minimal.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_seaborn.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_tufte.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_void.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/theme_xkcd.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/themes/themeable.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/typing.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine/watermark.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine.egg-info/dependency_links.txt +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/plotnine.egg-info/top_level.txt +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/requirements/doc.txt +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/setup.cfg +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_aes/geom_crossbar.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_aes/reorder.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_aes/reorder_index.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_aes/stat_bin_2d.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_aes/stat_ecdf.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_aes/test_stat_function.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotate/multiple_annotation_geoms.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_logticks/annotation_logticks.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_logticks/annotation_logticks_base_5.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_logticks/annotation_logticks_base_8.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_logticks/annotation_logticks_coord_flip.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_logticks/annotation_logticks_coord_flip_discrete.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_logticks/annotation_logticks_coord_flip_discrete_bottom.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_logticks/annotation_logticks_faceting.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_stripes/annotation_stripes.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_stripes/annotation_stripes_continuous_scale.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_stripes/annotation_stripes_coord_flip.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_stripes/annotation_stripes_faceting.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_stripes/annotation_stripes_fill_direction_extend.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_stripes/annotation_stripes_fill_range.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_stripes/annotation_stripes_fill_range_cycle.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_annotation_stripes/annotation_stripes_single_stripe.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_coords/coord_trans_backtransform.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_coords/datetime_scale_limits.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/aslabeller_dict_0tag.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/aslabeller_func_hashtagit.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/label_both.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/label_context.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/label_context_wrap2vars.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/label_value.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/labeller_cols_both_grid.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/labeller_cols_both_wrap.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/labeller_towords.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facet_labelling/uneven_num_of_lines.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facets/dir_v_ncol.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facets/facet_grid_drop_false.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facets/facet_grid_space_free.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_facets/facet_grid_space_ratios.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_abline/aes_inheritance.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_bar_col_histogram/col_just.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_bar_col_histogram/histogram_weights.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_bin_2d/drop_false.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_bin_2d/drop_true.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_blank/blank.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_boxplot/no_outliers.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_boxplot/position_nudge.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_boxplot/weight.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_count/continuous_x_y.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_count/discrete_x.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_count/discrete_y.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_density/bounds.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_density_2d/contours.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_density_2d/points.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_density_2d/polygon.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_dotplot/binaxis_y.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_dotplot/dotdensity.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_dotplot/histodot.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_dotplot/stackdir_center.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_dotplot/stackdir_centerwhole.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_dotplot/stackdir_down.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_dotplot/stackratio.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_errorbar_errorbarh/errorbar_aesthetics.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_linerange_pointrange/linerange_aesthetics.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_linerange_pointrange/pointrange_aesthetics.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_map/facet_wrap.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_map/geometries.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_map/multipoint.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_map/multipolygon.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_path_line_step/aesthetics.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_path_line_step/arrow.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_path_line_step/arrow_facets.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_path_line_step/missing_values.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_path_line_step/no_missing_values.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_path_line_step/path_line_step.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_path_line_step/step.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_path_line_step/step_mid.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_point/custom_shapes.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_point/legend_transparency.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_point/no_fill.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_point/no_mapping.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_pointdensity/contours.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_pointdensity/points.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_polygon/no_fill.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_qq_qq_line/normal.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_qq_qq_line/normal_with_line.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_quantile/lines.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_raster/gap_no_interpolation.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_raster/gap_with_interpolation.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_raster/rectangle.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_raster/square.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_rect_tile/coord-trans.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_rect_tile/infinite-rects.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_rect_tile/rect-nofill.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_ribbon_area/ribbon_coord_flip.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_ribbon_area/ribbon_outline_type.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_ribbon_area/ribbon_outline_type_coord_flip.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_ribbon_area/ribbon_where.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_rug/aesthetics.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_rug/coord_flip.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_segment/arrow.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_sina/method_counts.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_sina/scale_area+coord_flip.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_sina/scale_area.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_sina/scale_count.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_sina/style.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/continuous_x.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/continuous_x_fullrange.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/coord_trans_se_false.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/discrete_x.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/discrete_x_fullrange.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/glm_formula.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/gls_formula.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/init_and_fit_kwargs.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/linear_smooth.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/linear_smooth_no_ci.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/lm_formula.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/lm_formula_weights.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/non_linear_smooth.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/non_linear_smooth_no_ci.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/rlm_formula.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_smooth/sorts_by_x.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_spoke/test_unmapped_angle.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_text_label/adjust_label.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_text_label/adjust_text.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_text_label/adjust_text_default_color.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_text_label/format_missing_values.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_violin/no_trim.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_violin/scale.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_violin/scales_free.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_violin/style.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_geom_violin/style_alternating.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_ggplot_internals/after_scale_mapping.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_ggplot_internals/to_pandas.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layers/inserting_layers.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/axis_text_justification.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/axis_title_x_justification.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/axis_title_y_justification.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/colorbar_frame.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/default.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/default_tag_location.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/different_colorbar_themes.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/facet_grid.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/facet_wrap.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/facet_wrap_scales_free.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/inside_legend_90pct_top_right.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/inside_legend_left.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/inside_legend_top.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/inside_legend_top_right.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/justification_with_blank_title_and_text.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/legend_at_the_bottom.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/legend_at_top.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/legend_on_the_left.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/legends_in_different_positions.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/margin_bottom.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/outside_legend_bottom_left.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/outside_legend_left_top.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/outside_legend_right_bottom.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/outside_legend_top_right.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/panel_bottomleft.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/panel_topleft_margin_in_fig.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/panel_topleft_margin_in_pt.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/panel_topleft_margin_in_pt_ar1.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/panel_xycoords.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/plot_margin_aspect_ratio.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/plot_margin_protruding_axis_text.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/plot_title_justification.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/plot_titles_and_caption_positioning.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/plot_topright.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/plot_topright_margin_in_fig.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/plot_topright_margin_in_pt.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/plot_xycoords.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_layout/turn_off_guide.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_plot_composition/basic_horizontal_align_resize.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_plot_composition/basic_vertical_align_resize.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_plot_composition/horizontal_tag_align.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_plot_composition/nested_horizontal_align_resize.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_plot_composition/nested_vertical_align_resize.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_plot_composition/vertical_tag_align.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_position/dodge2_preserve_single_interval.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_position/dodge_segment.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_position/jitter.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_position/nudge.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/arrays.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/multiple_geoms.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/onlyx.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/onlyy.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/range.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/sample.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/scalars.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/series_labelling.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/string-arrays.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/xlim.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_qplot/ylim.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_internals/bool_mapping.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_internals/breaks_and_labels_outside_of_limits.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_internals/datetime_scale_limits.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_internals/expand_limits.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_internals/missing_manual_dict_aesthetic.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_internals/multiple_aesthetics.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_internals/ordinal_scale.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_internals/test_legend_ordering_with_identity_scale.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_internals/transform_aes_defaults_and_params.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_labelling/caption_complex.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_labelling/caption_simple.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_labelling/labelling_with_colour.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_linetype/scale_linetype_manual_strings.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_linetype/scale_linetype_manual_tuples.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_scale_symlog/scale_y_symlog.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_ecdf/computed_y_column.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_ecdf/ecdf.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_ecdf/ecdf_no_pad.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_ellipse/ellipse.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_function/args.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_function/limits.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary/fun_args.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary/mean_cl_boot.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary/mean_cl_normal.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary/mean_sdl.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary/mean_se.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary/median_hilow.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary/summary_functions.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary_bin/continuous_x.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary_bin/discrete_x.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_stat_summary_bin/setting_binwidth.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/axis_ticks_and_length.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/element_text_with_sequence_values.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/no_ticks.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/override_axis_text.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_538.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_bw.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_classic.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_dark.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_gray.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_light.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_linedraw.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_matplotlib.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_minimal.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_seaborn.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_tufte.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_theme/theme_void.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/baseline_images/test_watermark/watermark.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/conftest.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/images/plotnine-watermark.png +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_animation.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_annotation_logticks.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_annotation_stripes.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_binning.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_coords.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_doctools.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_facet_labelling.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_facets.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_abline.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_bar_col_histogram.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_bin_2d.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_blank.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_boxplot.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_count.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_crossbar.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_density.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_density_2d.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_dotplot.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_errorbar_errorbarh.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_freqpoly.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_hline.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_linerange_pointrange.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_map.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_path_line_step.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_point.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_pointdensity.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_polygon.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_qq_qq_line.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_quantile.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_raster.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_rect_tile.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_ribbon_area.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_rug.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_segment.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_sina.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_smooth.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_spoke.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_text_label.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_violin.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_geom_vline.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_ggsave.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_guide_internals.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_helpers.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_layers.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_layout.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_lint_and_format.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_plot_composition.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_position.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_qplot.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_save_as_pdf_pages.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_scale_internals.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_scale_labelling.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_scale_linetype.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_scale_symlog.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_stat_calculate_methods.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_stat_ecdf.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_stat_ellipse.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_stat_function.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_stat_hull.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_stat_summary.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_stat_summary_bin.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_utils.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tests/test_watermark.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tools/release-checklist-tpl.md +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tools/release-checklist.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tools/term.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tools/update_baseline_images.py +0 -0
- {plotnine-0.15.0a2 → plotnine-0.15.0a4}/tools/visualize_tests.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: plotnine
|
|
3
|
-
Version: 0.15.
|
|
3
|
+
Version: 0.15.0a4
|
|
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)
|
|
@@ -46,9 +46,9 @@ Description-Content-Type: text/markdown
|
|
|
46
46
|
License-File: LICENSE
|
|
47
47
|
Requires-Dist: matplotlib>=3.8.0
|
|
48
48
|
Requires-Dist: pandas>=2.2.0
|
|
49
|
-
Requires-Dist: mizani~=0.
|
|
49
|
+
Requires-Dist: mizani~=0.14.0
|
|
50
50
|
Requires-Dist: numpy>=1.23.5
|
|
51
|
-
Requires-Dist: scipy
|
|
51
|
+
Requires-Dist: scipy<1.16.0,>=1.8.0
|
|
52
52
|
Requires-Dist: statsmodels>=0.14.0
|
|
53
53
|
Provides-Extra: all
|
|
54
54
|
Requires-Dist: plotnine[extra]; extra == "all"
|
|
@@ -82,7 +82,7 @@ Requires-Dist: twine; extra == "dev"
|
|
|
82
82
|
Requires-Dist: plotnine[typing]; extra == "dev"
|
|
83
83
|
Requires-Dist: pre-commit; extra == "dev"
|
|
84
84
|
Provides-Extra: typing
|
|
85
|
-
Requires-Dist: pyright==1.1.
|
|
85
|
+
Requires-Dist: pyright==1.1.402; extra == "typing"
|
|
86
86
|
Requires-Dist: ipython; extra == "typing"
|
|
87
87
|
Requires-Dist: pandas-stubs; extra == "typing"
|
|
88
88
|
Dynamic: license-file
|
|
@@ -66,7 +66,7 @@ config: ## Configure project for quartodoc and quarto
|
|
|
66
66
|
docstrings: config ## Generate qmd files from the docstrings
|
|
67
67
|
$(PYTHON) -m quartodoc build --config _quartodoc.yml
|
|
68
68
|
# Create a objects.inv
|
|
69
|
-
@$(PYTHON) -m sphobjinv convert zlib objects.txt
|
|
69
|
+
@$(PYTHON) -m sphobjinv convert -o zlib objects.txt
|
|
70
70
|
|
|
71
71
|
html: docstrings ## Build html site
|
|
72
72
|
quarto render
|
|
@@ -540,27 +540,27 @@ quartodoc:
|
|
|
540
540
|
- subtitle: Accessing the Options
|
|
541
541
|
desc: |
|
|
542
542
|
These are the methods that access the options.
|
|
543
|
-
package: plotnine
|
|
543
|
+
package: plotnine
|
|
544
544
|
options:
|
|
545
545
|
dynamic: false
|
|
546
546
|
contents:
|
|
547
|
-
- get_option
|
|
548
|
-
- set_option
|
|
547
|
+
- options.get_option
|
|
548
|
+
- options.set_option
|
|
549
549
|
|
|
550
550
|
- subtitle: The Available Options
|
|
551
551
|
desc: |
|
|
552
552
|
These are _all_ the options that you can set or get the values of.
|
|
553
|
-
package: plotnine
|
|
553
|
+
package: plotnine
|
|
554
554
|
options:
|
|
555
555
|
dynamic: false
|
|
556
556
|
contents:
|
|
557
|
-
- aspect_ratio
|
|
558
|
-
- base_family
|
|
559
|
-
- base_margin
|
|
560
|
-
- current_theme
|
|
561
|
-
- dpi
|
|
562
|
-
- figure_size
|
|
563
|
-
- figure_format
|
|
557
|
+
- options.aspect_ratio
|
|
558
|
+
- options.base_family
|
|
559
|
+
- options.base_margin
|
|
560
|
+
- options.current_theme
|
|
561
|
+
- options.dpi
|
|
562
|
+
- options.figure_size
|
|
563
|
+
- options.figure_format
|
|
564
564
|
|
|
565
565
|
- title: Tools
|
|
566
566
|
desc: |
|
|
@@ -4,7 +4,12 @@ import re
|
|
|
4
4
|
from pathlib import Path
|
|
5
5
|
from textwrap import dedent
|
|
6
6
|
|
|
7
|
-
from qrenderer import
|
|
7
|
+
from qrenderer import (
|
|
8
|
+
QRenderer,
|
|
9
|
+
RenderDoc,
|
|
10
|
+
RenderDocClass,
|
|
11
|
+
exclude_parameters,
|
|
12
|
+
)
|
|
8
13
|
from qrenderer._pandoc.inlines import shortcode
|
|
9
14
|
from quartodoc.pandoc.blocks import Blocks, CodeBlock, Div, Header
|
|
10
15
|
from quartodoc.pandoc.components import Attr
|
|
@@ -30,7 +35,13 @@ class Renderer(QRenderer):
|
|
|
30
35
|
pass
|
|
31
36
|
|
|
32
37
|
|
|
33
|
-
|
|
38
|
+
exclude_parameters(
|
|
39
|
+
{
|
|
40
|
+
"plotnine.scale_color_hue": ("s", "color_space"),
|
|
41
|
+
}
|
|
42
|
+
)
|
|
43
|
+
|
|
44
|
+
|
|
34
45
|
class _RenderDoc(RenderDoc):
|
|
35
46
|
def render_body(self):
|
|
36
47
|
body = super().render_body()
|
|
@@ -46,8 +57,17 @@ class _RenderDoc(RenderDoc):
|
|
|
46
57
|
header = Header(self.level + 1, "Examples")
|
|
47
58
|
return Blocks([body, header, embed_notebook])
|
|
48
59
|
|
|
60
|
+
# Until quartodoc makes it possible to use a tilde to use
|
|
61
|
+
# and objects name and not the qualified path, we have to
|
|
62
|
+
# create exceptions for all the qualified paths that we want
|
|
63
|
+
# to be short.
|
|
64
|
+
# Ref: https://github.com/machow/quartodoc/issues/230
|
|
65
|
+
@property
|
|
66
|
+
def summary_name(self):
|
|
67
|
+
name = super().summary_name
|
|
68
|
+
return name[8:] if name.startswith("options.") else name
|
|
69
|
+
|
|
49
70
|
|
|
50
|
-
@extend_base_class
|
|
51
71
|
class _RenderDocClass(RenderDocClass):
|
|
52
72
|
def render_signature(self):
|
|
53
73
|
signature = super().render_signature()
|
|
@@ -19,6 +19,14 @@ title: Changelog
|
|
|
19
19
|
or `axis_text_y` to control the spacing between the axis text and the ticks.
|
|
20
20
|
({{< issue 843 >}})
|
|
21
21
|
|
|
22
|
+
- The `stat` class methods `stat.compute_layer`, `stat.compute_panel` and `stat.compute_group` are now instance methods and they no longer accept
|
|
23
|
+
`**params` arguments. Access to the parameters is through `self.params`.
|
|
24
|
+
|
|
25
|
+
- The `geom` class methods `geom.draw_layer` and `geom.draw_panel` do no longer accept `**param` arguments. Access to the parameters is through `self.params`.
|
|
26
|
+
|
|
27
|
+
- Method `geom.draw_group` now accepts the `params` argument as a dictionary and not `**params`.
|
|
28
|
+
|
|
29
|
+
|
|
22
30
|
### New Features
|
|
23
31
|
|
|
24
32
|
- Plot Composition is here. Using an intuitive algebra, you can
|
|
@@ -80,6 +88,16 @@ title: Changelog
|
|
|
80
88
|
|
|
81
89
|
- Gained new helper function [](:func:`~plotnine.helpers.get_aesthetic_limits`).
|
|
82
90
|
|
|
91
|
+
- [](:class:`~plotnine.geom_point`) gained the ability to handle shapes of the form
|
|
92
|
+
`Sequence[tuple[float, float]]` e.g.
|
|
93
|
+
|
|
94
|
+
```python
|
|
95
|
+
((-2, -4), (-2, -1), (0, 1), (2, -1), (2, -4), (-2, -4))
|
|
96
|
+
```
|
|
97
|
+
|
|
98
|
+
Which declares the vertices of a polygon shape.
|
|
99
|
+
|
|
100
|
+
|
|
83
101
|
### Enhancements
|
|
84
102
|
|
|
85
103
|
- Included datasets [](:attr:`~plotnine.data.mpg`), [](:attr:`~plotnine.data.msleep`) and
|
|
@@ -137,6 +155,12 @@ title: Changelog
|
|
|
137
155
|
- Fixed bug in [](:class:`~plotnine.geom_histogram`) where mapping to the `weight` aesthetic
|
|
138
156
|
lead to an error. {{< issue 936 >}}
|
|
139
157
|
|
|
158
|
+
- Fixed bug in [](:class:`~plotnine.geom_vline`) where you could not map the `xintercept`
|
|
159
|
+
aesthetic to a discrete variable.
|
|
160
|
+
|
|
161
|
+
- Fixed bug in [](:class:`~plotnine.geom_hline`) where you could not map the `yintercept`
|
|
162
|
+
aesthetic to a discrete variable.
|
|
163
|
+
|
|
140
164
|
## v0.14.5
|
|
141
165
|
(2025-01-02)
|
|
142
166
|
[](https://doi.org/10.5281/zenodo.14587381)
|
|
@@ -3,7 +3,7 @@ from __future__ import annotations
|
|
|
3
3
|
import abc
|
|
4
4
|
from dataclasses import dataclass
|
|
5
5
|
from functools import cached_property
|
|
6
|
-
from typing import TYPE_CHECKING
|
|
6
|
+
from typing import TYPE_CHECKING, cast
|
|
7
7
|
|
|
8
8
|
import numpy as np
|
|
9
9
|
|
|
@@ -528,8 +528,9 @@ class ColumnsTree(LayoutTree):
|
|
|
528
528
|
if self.bottom_tags_align:
|
|
529
529
|
return
|
|
530
530
|
|
|
531
|
-
values =
|
|
532
|
-
|
|
531
|
+
values = cast(
|
|
532
|
+
"Sequence[float]",
|
|
533
|
+
max(self.bottom_tag_heights) - np.array(self.bottom_tag_heights),
|
|
533
534
|
)
|
|
534
535
|
for item, value in zip(self.nodes, values):
|
|
535
536
|
if isinstance(item, LayoutSpaces):
|
|
@@ -541,7 +542,10 @@ class ColumnsTree(LayoutTree):
|
|
|
541
542
|
if self.top_tags_align:
|
|
542
543
|
return
|
|
543
544
|
|
|
544
|
-
values =
|
|
545
|
+
values = cast(
|
|
546
|
+
"Sequence[float]",
|
|
547
|
+
max(self.top_tag_heights) - np.array(self.top_tag_heights),
|
|
548
|
+
)
|
|
545
549
|
for item, value in zip(self.nodes, values):
|
|
546
550
|
if isinstance(item, LayoutSpaces):
|
|
547
551
|
item.t.tag_alignment = value
|
|
@@ -776,7 +780,10 @@ class RowsTree(LayoutTree):
|
|
|
776
780
|
if self.left_tags_align:
|
|
777
781
|
return
|
|
778
782
|
|
|
779
|
-
values =
|
|
783
|
+
values = cast(
|
|
784
|
+
"Sequence[float]",
|
|
785
|
+
max(self.left_tag_widths) - np.array(self.left_tag_widths),
|
|
786
|
+
)
|
|
780
787
|
for item, value in zip(self.nodes, values):
|
|
781
788
|
if isinstance(item, LayoutSpaces):
|
|
782
789
|
item.l.tag_alignment = value
|
|
@@ -787,7 +794,10 @@ class RowsTree(LayoutTree):
|
|
|
787
794
|
if self.right_tags_align:
|
|
788
795
|
return
|
|
789
796
|
|
|
790
|
-
values =
|
|
797
|
+
values = cast(
|
|
798
|
+
"Sequence[float]",
|
|
799
|
+
max(self.right_tag_widths) - np.array(self.right_tag_widths),
|
|
800
|
+
)
|
|
791
801
|
for item, value in zip(self.nodes, values):
|
|
792
802
|
if isinstance(item, LayoutSpaces):
|
|
793
803
|
item.r.tag_alignment = value
|
|
@@ -12,9 +12,10 @@ from collections.abc import Iterable, Sequence
|
|
|
12
12
|
from contextlib import suppress
|
|
13
13
|
from copy import deepcopy
|
|
14
14
|
from dataclasses import field
|
|
15
|
-
from typing import TYPE_CHECKING
|
|
15
|
+
from typing import TYPE_CHECKING
|
|
16
16
|
from warnings import warn
|
|
17
17
|
|
|
18
|
+
import mizani._colors.utils as color_utils
|
|
18
19
|
import numpy as np
|
|
19
20
|
import pandas as pd
|
|
20
21
|
from pandas.core.groupby import DataFrameGroupBy
|
|
@@ -26,12 +27,10 @@ if TYPE_CHECKING:
|
|
|
26
27
|
from typing import Any, Callable, Literal, TypeVar
|
|
27
28
|
|
|
28
29
|
import numpy.typing as npt
|
|
29
|
-
from matplotlib.typing import ColorType
|
|
30
30
|
from typing_extensions import TypeGuard
|
|
31
31
|
|
|
32
32
|
from plotnine.typing import (
|
|
33
33
|
AnyArrayLike,
|
|
34
|
-
AnySeries,
|
|
35
34
|
DataLike,
|
|
36
35
|
FloatArray,
|
|
37
36
|
FloatArrayLike,
|
|
@@ -60,6 +59,8 @@ BOX_LOCATIONS: dict[str, tuple[float, float]] = {
|
|
|
60
59
|
"centre": (0.5, 0.5),
|
|
61
60
|
}
|
|
62
61
|
|
|
62
|
+
to_rgba = color_utils.to_rgba
|
|
63
|
+
|
|
63
64
|
|
|
64
65
|
def is_scalar(val):
|
|
65
66
|
"""
|
|
@@ -346,6 +347,8 @@ def _id_var(x: AnyArrayLike, drop: bool = False) -> list[int]:
|
|
|
346
347
|
# NaNs are -1, we give them the highest code
|
|
347
348
|
nan_code = -1
|
|
348
349
|
new_nan_code = np.max(x.cat.codes) + 1
|
|
350
|
+
# TODO: We are assuming that x is of type Sequence[int|nan]
|
|
351
|
+
# is that accurate.
|
|
349
352
|
lst = [val if val != nan_code else new_nan_code for val in x]
|
|
350
353
|
else:
|
|
351
354
|
lst = list(x.cat.codes + 1)
|
|
@@ -513,7 +516,7 @@ def remove_missing(
|
|
|
513
516
|
if finite:
|
|
514
517
|
lst = [np.inf, -np.inf]
|
|
515
518
|
to_replace = {v: lst for v in vars}
|
|
516
|
-
data.replace(to_replace, np.nan, inplace=True)
|
|
519
|
+
data.replace(to_replace, np.nan, inplace=True)
|
|
517
520
|
txt = "non-finite"
|
|
518
521
|
else:
|
|
519
522
|
txt = "missing"
|
|
@@ -528,105 +531,6 @@ def remove_missing(
|
|
|
528
531
|
return data
|
|
529
532
|
|
|
530
533
|
|
|
531
|
-
@overload
|
|
532
|
-
def to_rgba(colors: ColorType, alpha: float) -> ColorType: ...
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
@overload
|
|
536
|
-
def to_rgba(
|
|
537
|
-
colors: Sequence[ColorType], alpha: float
|
|
538
|
-
) -> Sequence[ColorType] | ColorType: ...
|
|
539
|
-
|
|
540
|
-
|
|
541
|
-
@overload
|
|
542
|
-
def to_rgba(
|
|
543
|
-
colors: AnySeries, alpha: AnySeries
|
|
544
|
-
) -> Sequence[ColorType] | ColorType: ...
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
def to_rgba(
|
|
548
|
-
colors: Sequence[ColorType] | AnySeries | ColorType,
|
|
549
|
-
alpha: float | Sequence[float] | AnySeries,
|
|
550
|
-
) -> Sequence[ColorType] | ColorType:
|
|
551
|
-
"""
|
|
552
|
-
Convert hex colors to rgba values.
|
|
553
|
-
|
|
554
|
-
Parameters
|
|
555
|
-
----------
|
|
556
|
-
colors : iterable | str
|
|
557
|
-
colors to convert
|
|
558
|
-
alphas : iterable | float
|
|
559
|
-
alpha values
|
|
560
|
-
|
|
561
|
-
Returns
|
|
562
|
-
-------
|
|
563
|
-
out : ndarray | tuple
|
|
564
|
-
rgba color(s)
|
|
565
|
-
|
|
566
|
-
Notes
|
|
567
|
-
-----
|
|
568
|
-
Matplotlib plotting functions only accept scalar
|
|
569
|
-
alpha values. Hence no two objects with different
|
|
570
|
-
alpha values may be plotted in one call. This would
|
|
571
|
-
make plots with continuous alpha values innefficient.
|
|
572
|
-
However :), the colors can be rgba hex values or
|
|
573
|
-
list-likes and the alpha dimension will be respected.
|
|
574
|
-
"""
|
|
575
|
-
|
|
576
|
-
def is_iterable(var):
|
|
577
|
-
return np.iterable(var) and not isinstance(var, str)
|
|
578
|
-
|
|
579
|
-
def has_alpha(c):
|
|
580
|
-
return (isinstance(c, tuple) and len(c) == 4) or (
|
|
581
|
-
isinstance(c, str) and len(c) == 9 and c[0] == "#"
|
|
582
|
-
)
|
|
583
|
-
|
|
584
|
-
def no_color(c):
|
|
585
|
-
return c is None or c.lower() in ("none", "")
|
|
586
|
-
|
|
587
|
-
def to_rgba_hex(c: ColorType, a: float) -> str:
|
|
588
|
-
"""
|
|
589
|
-
Convert rgb color to rgba hex value
|
|
590
|
-
|
|
591
|
-
If color c has an alpha channel, then alpha value
|
|
592
|
-
a is ignored
|
|
593
|
-
"""
|
|
594
|
-
from matplotlib.colors import colorConverter, to_hex
|
|
595
|
-
|
|
596
|
-
if c in ("None", "none"):
|
|
597
|
-
return c
|
|
598
|
-
|
|
599
|
-
_has_alpha = has_alpha(c)
|
|
600
|
-
c = to_hex(c, keep_alpha=_has_alpha)
|
|
601
|
-
|
|
602
|
-
if not _has_alpha:
|
|
603
|
-
arr = colorConverter.to_rgba(c, a)
|
|
604
|
-
return to_hex(arr, keep_alpha=True)
|
|
605
|
-
|
|
606
|
-
return c
|
|
607
|
-
|
|
608
|
-
if is_iterable(colors):
|
|
609
|
-
colors = cast("Sequence[ColorType]", colors)
|
|
610
|
-
|
|
611
|
-
if all(no_color(c) for c in colors):
|
|
612
|
-
return "none"
|
|
613
|
-
|
|
614
|
-
if isinstance(alpha, (Sequence, pd.Series)):
|
|
615
|
-
return [to_rgba_hex(c, a) for c, a in zip(colors, alpha)]
|
|
616
|
-
else:
|
|
617
|
-
return [to_rgba_hex(c, alpha) for c in colors]
|
|
618
|
-
else:
|
|
619
|
-
colors = cast("ColorType", colors)
|
|
620
|
-
|
|
621
|
-
if no_color(colors):
|
|
622
|
-
return colors
|
|
623
|
-
|
|
624
|
-
if isinstance(alpha, (Sequence, pd.Series)):
|
|
625
|
-
return [to_rgba_hex(colors, a) for a in alpha]
|
|
626
|
-
else:
|
|
627
|
-
return to_rgba_hex(colors, alpha)
|
|
628
|
-
|
|
629
|
-
|
|
630
534
|
def groupby_apply(
|
|
631
535
|
df: pd.DataFrame,
|
|
632
536
|
cols: str | list[str],
|
|
@@ -71,7 +71,7 @@ STAT_SIGNATURE_TPL = """
|
|
|
71
71
|
|
|
72
72
|
common_params_doc = {
|
|
73
73
|
"mapping": """\
|
|
74
|
-
Aesthetic mappings created with [aes](:class:`plotnine.mapping.aes`). If \
|
|
74
|
+
Aesthetic mappings created with [aes](:class:`plotnine.mapping.aes.aes`). If \
|
|
75
75
|
specified and `inherit_aes=True`{.py}, it is combined with the default \
|
|
76
76
|
mapping for the plot. You must supply mapping if there is no plot mapping.""",
|
|
77
77
|
"data": """\
|
|
@@ -103,7 +103,7 @@ the final image is in vector format.""",
|
|
|
103
103
|
|
|
104
104
|
|
|
105
105
|
GEOM_PARAMS_TPL = """
|
|
106
|
-
mapping : ~plotnine.mapping.aes, default=None
|
|
106
|
+
mapping : ~plotnine.mapping.aes.aes, default=None
|
|
107
107
|
{mapping}
|
|
108
108
|
{_aesthetics_doc}
|
|
109
109
|
data : ~pandas.DataFrame, default=None
|
|
@@ -124,7 +124,7 @@ raster : bool, default={default_raster}
|
|
|
124
124
|
"""
|
|
125
125
|
|
|
126
126
|
STAT_PARAMS_TPL = """
|
|
127
|
-
mapping : ~plotnine.mapping.aes, default=None
|
|
127
|
+
mapping : ~plotnine.mapping.aes.aes, default=None
|
|
128
128
|
{mapping}
|
|
129
129
|
{_aesthetics_doc}
|
|
130
130
|
data : ~pandas.DataFrame, default=None
|
|
@@ -64,16 +64,16 @@ class annotate:
|
|
|
64
64
|
def __init__(
|
|
65
65
|
self,
|
|
66
66
|
geom: str | type[geom_base_class],
|
|
67
|
-
x: float | None = None,
|
|
68
|
-
y: float | None = None,
|
|
69
|
-
xmin: float | None = None,
|
|
70
|
-
xmax: float | None = None,
|
|
71
|
-
xend: float | None = None,
|
|
72
|
-
xintercept: float | None = None,
|
|
73
|
-
ymin: float | None = None,
|
|
74
|
-
ymax: float | None = None,
|
|
75
|
-
yend: float | None = None,
|
|
76
|
-
yintercept: float | None = None,
|
|
67
|
+
x: float | list[float] | None = None,
|
|
68
|
+
y: float | list[float] | None = None,
|
|
69
|
+
xmin: float | list[float] | None = None,
|
|
70
|
+
xmax: float | list[float] | None = None,
|
|
71
|
+
xend: float | list[float] | None = None,
|
|
72
|
+
xintercept: float | list[float] | None = None,
|
|
73
|
+
ymin: float | list[float] | None = None,
|
|
74
|
+
ymax: float | list[float] | None = None,
|
|
75
|
+
yend: float | list[float] | None = None,
|
|
76
|
+
yintercept: float | list[float] | None = None,
|
|
77
77
|
**kwargs: Any,
|
|
78
78
|
):
|
|
79
79
|
variables = locals()
|
|
@@ -46,9 +46,7 @@ class _geom_logticks(geom_rug):
|
|
|
46
46
|
}
|
|
47
47
|
draw_legend = staticmethod(geom_path.draw_legend)
|
|
48
48
|
|
|
49
|
-
def draw_layer(
|
|
50
|
-
self, data: pd.DataFrame, layout: Layout, coord: coord, **params: Any
|
|
51
|
-
):
|
|
49
|
+
def draw_layer(self, data: pd.DataFrame, layout: Layout, coord: coord):
|
|
52
50
|
"""
|
|
53
51
|
Draw ticks on every panel
|
|
54
52
|
"""
|
|
@@ -56,7 +54,7 @@ class _geom_logticks(geom_rug):
|
|
|
56
54
|
ploc = pid - 1
|
|
57
55
|
panel_params = layout.panel_params[ploc]
|
|
58
56
|
ax = layout.axs[ploc]
|
|
59
|
-
self.draw_panel(data, panel_params, coord, ax
|
|
57
|
+
self.draw_panel(data, panel_params, coord, ax)
|
|
60
58
|
|
|
61
59
|
@staticmethod
|
|
62
60
|
def _check_log_scale(
|
|
@@ -184,8 +182,8 @@ class _geom_logticks(geom_rug):
|
|
|
184
182
|
panel_params: panel_view,
|
|
185
183
|
coord: coord,
|
|
186
184
|
ax: Axes,
|
|
187
|
-
**params: Any,
|
|
188
185
|
):
|
|
186
|
+
params = self.params
|
|
189
187
|
# Any passed data is ignored, the relevant data is created
|
|
190
188
|
sides = params["sides"]
|
|
191
189
|
lengths = params["lengths"]
|
|
@@ -203,9 +201,8 @@ class _geom_logticks(geom_rug):
|
|
|
203
201
|
):
|
|
204
202
|
for position, length in zip(tick_positions, lengths):
|
|
205
203
|
data = pd.DataFrame({axis: position, **_aesthetics})
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
)
|
|
204
|
+
params["length"] = length
|
|
205
|
+
geom.draw_group(data, panel_params, coord, ax, params)
|
|
209
206
|
|
|
210
207
|
if isinstance(coord, coord_flip):
|
|
211
208
|
tick_range_x = panel_params.y.range
|
|
@@ -96,9 +96,7 @@ class _geom_stripes(geom):
|
|
|
96
96
|
}
|
|
97
97
|
draw_legend = staticmethod(geom_polygon.draw_legend)
|
|
98
98
|
|
|
99
|
-
def draw_layer(
|
|
100
|
-
self, data: pd.DataFrame, layout: Layout, coord: coord, **params: Any
|
|
101
|
-
):
|
|
99
|
+
def draw_layer(self, data: pd.DataFrame, layout: Layout, coord: coord):
|
|
102
100
|
"""
|
|
103
101
|
Draw stripes on every panel
|
|
104
102
|
"""
|
|
@@ -106,7 +104,7 @@ class _geom_stripes(geom):
|
|
|
106
104
|
ploc = pid - 1
|
|
107
105
|
panel_params = layout.panel_params[ploc]
|
|
108
106
|
ax = layout.axs[ploc]
|
|
109
|
-
self.draw_group(data, panel_params, coord, ax,
|
|
107
|
+
self.draw_group(data, panel_params, coord, ax, self.params)
|
|
110
108
|
|
|
111
109
|
@staticmethod
|
|
112
110
|
def draw_group(
|
|
@@ -114,7 +112,7 @@ class _geom_stripes(geom):
|
|
|
114
112
|
panel_params: panel_view,
|
|
115
113
|
coord: coord,
|
|
116
114
|
ax: Axes,
|
|
117
|
-
|
|
115
|
+
params: dict[str, Any],
|
|
118
116
|
):
|
|
119
117
|
extend = params["extend"]
|
|
120
118
|
fill_range = params["fill_range"]
|
|
@@ -195,4 +193,4 @@ class _geom_stripes(geom):
|
|
|
195
193
|
}
|
|
196
194
|
)
|
|
197
195
|
|
|
198
|
-
return geom_rect.draw_group(data, panel_params, coord, ax,
|
|
196
|
+
return geom_rect.draw_group(data, panel_params, coord, ax, params)
|
|
@@ -7,13 +7,12 @@ from itertools import chain, repeat
|
|
|
7
7
|
|
|
8
8
|
from .._utils import (
|
|
9
9
|
data_mapping_as_kwargs,
|
|
10
|
-
is_list_like,
|
|
11
10
|
remove_missing,
|
|
12
11
|
)
|
|
13
12
|
from .._utils.registry import Register, Registry
|
|
14
13
|
from ..exceptions import PlotnineError
|
|
15
14
|
from ..layer import layer
|
|
16
|
-
from ..mapping.aes import
|
|
15
|
+
from ..mapping.aes import RepeatAesthetic, rename_aesthetics
|
|
17
16
|
from ..mapping.evaluation import evaluate
|
|
18
17
|
from ..positions.position import position
|
|
19
18
|
from ..stats.stat import stat
|
|
@@ -171,6 +170,26 @@ class geom(ABC, metaclass=Register):
|
|
|
171
170
|
|
|
172
171
|
return result
|
|
173
172
|
|
|
173
|
+
def setup_params(self, data: pd.DataFrame):
|
|
174
|
+
"""
|
|
175
|
+
Override this method to verify and/or adjust parameters
|
|
176
|
+
|
|
177
|
+
Parameters
|
|
178
|
+
----------
|
|
179
|
+
data :
|
|
180
|
+
Data
|
|
181
|
+
"""
|
|
182
|
+
|
|
183
|
+
def setup_aes_params(self, data: pd.DataFrame):
|
|
184
|
+
"""
|
|
185
|
+
Override this method to verify and/or adjust aesthetic parameters
|
|
186
|
+
|
|
187
|
+
Parameters
|
|
188
|
+
----------
|
|
189
|
+
data :
|
|
190
|
+
Data
|
|
191
|
+
"""
|
|
192
|
+
|
|
174
193
|
def setup_data(self, data: pd.DataFrame) -> pd.DataFrame:
|
|
175
194
|
"""
|
|
176
195
|
Modify the data before drawing takes place
|
|
@@ -240,30 +259,33 @@ class geom(ABC, metaclass=Register):
|
|
|
240
259
|
data[ae] = evaled[ae]
|
|
241
260
|
|
|
242
261
|
num_panels = len(data["PANEL"].unique()) if "PANEL" in data else 1
|
|
262
|
+
across_panels = num_panels > 1 and not self.params["inherit_aes"]
|
|
243
263
|
|
|
244
264
|
# Aesthetics set as parameters to the geom/stat
|
|
245
265
|
for ae, value in self.aes_params.items():
|
|
246
266
|
try:
|
|
247
267
|
data[ae] = value
|
|
248
268
|
except ValueError as e:
|
|
249
|
-
#
|
|
250
|
-
#
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
269
|
+
# NOTE: Handling of the edgecases in this exception is not
|
|
270
|
+
# foolproof.
|
|
271
|
+
repeat_ae = getattr(RepeatAesthetic, ae, None)
|
|
272
|
+
if across_panels:
|
|
273
|
+
# Adding an annotation/abline/hline/vhline with multiple
|
|
274
|
+
# items across to more than 1 panel
|
|
275
|
+
value = list(chain(*repeat(value, num_panels)))
|
|
276
|
+
data[ae] = value
|
|
277
|
+
elif repeat_ae:
|
|
278
|
+
# Some aesthetics may have valid values that are not
|
|
279
|
+
# scalar. e.g. sequences. For such case, we need to
|
|
280
|
+
# insert a sequence of the same value.
|
|
281
|
+
data[ae] = repeat_ae(value, len(data))
|
|
255
282
|
else:
|
|
256
|
-
msg =
|
|
257
|
-
f"'{value}' does not look like a "
|
|
258
|
-
f"valid value for `{ae}`"
|
|
259
|
-
)
|
|
283
|
+
msg = f"'{ae}={value}' does not look like a valid value"
|
|
260
284
|
raise PlotnineError(msg) from e
|
|
261
285
|
|
|
262
286
|
return data
|
|
263
287
|
|
|
264
|
-
def draw_layer(
|
|
265
|
-
self, data: pd.DataFrame, layout: Layout, coord: coord, **params: Any
|
|
266
|
-
):
|
|
288
|
+
def draw_layer(self, data: pd.DataFrame, layout: Layout, coord: coord):
|
|
267
289
|
"""
|
|
268
290
|
Draw layer across all panels
|
|
269
291
|
|
|
@@ -289,7 +311,7 @@ class geom(ABC, metaclass=Register):
|
|
|
289
311
|
ploc = pdata["PANEL"].iloc[0] - 1
|
|
290
312
|
panel_params = layout.panel_params[ploc]
|
|
291
313
|
ax = layout.axs[ploc]
|
|
292
|
-
self.draw_panel(pdata, panel_params, coord, ax
|
|
314
|
+
self.draw_panel(pdata, panel_params, coord, ax)
|
|
293
315
|
|
|
294
316
|
def draw_panel(
|
|
295
317
|
self,
|
|
@@ -297,7 +319,6 @@ class geom(ABC, metaclass=Register):
|
|
|
297
319
|
panel_params: panel_view,
|
|
298
320
|
coord: coord,
|
|
299
321
|
ax: Axes,
|
|
300
|
-
**params: Any,
|
|
301
322
|
):
|
|
302
323
|
"""
|
|
303
324
|
Plot all groups
|
|
@@ -331,7 +352,7 @@ class geom(ABC, metaclass=Register):
|
|
|
331
352
|
"""
|
|
332
353
|
for _, gdata in data.groupby("group"):
|
|
333
354
|
gdata.reset_index(inplace=True, drop=True)
|
|
334
|
-
self.draw_group(gdata, panel_params, coord, ax,
|
|
355
|
+
self.draw_group(gdata, panel_params, coord, ax, self.params)
|
|
335
356
|
|
|
336
357
|
@staticmethod
|
|
337
358
|
def draw_group(
|
|
@@ -339,7 +360,7 @@ class geom(ABC, metaclass=Register):
|
|
|
339
360
|
panel_params: panel_view,
|
|
340
361
|
coord: coord,
|
|
341
362
|
ax: Axes,
|
|
342
|
-
|
|
363
|
+
params: dict[str, Any],
|
|
343
364
|
):
|
|
344
365
|
"""
|
|
345
366
|
Plot data belonging to a group.
|
|
@@ -376,7 +397,7 @@ class geom(ABC, metaclass=Register):
|
|
|
376
397
|
panel_params: panel_view,
|
|
377
398
|
coord: coord,
|
|
378
399
|
ax: Axes,
|
|
379
|
-
|
|
400
|
+
params: dict[str, Any],
|
|
380
401
|
):
|
|
381
402
|
"""
|
|
382
403
|
Plot data belonging to a unit.
|
|
@@ -102,7 +102,6 @@ class geom_abline(geom):
|
|
|
102
102
|
panel_params: panel_view,
|
|
103
103
|
coord: coord,
|
|
104
104
|
ax: Axes,
|
|
105
|
-
**params: Any,
|
|
106
105
|
):
|
|
107
106
|
"""
|
|
108
107
|
Plot all groups
|
|
@@ -116,4 +115,6 @@ class geom_abline(geom):
|
|
|
116
115
|
|
|
117
116
|
for _, gdata in data.groupby("group"):
|
|
118
117
|
gdata.reset_index(inplace=True)
|
|
119
|
-
geom_segment.draw_group(
|
|
118
|
+
geom_segment.draw_group(
|
|
119
|
+
gdata, panel_params, coord, ax, self.params
|
|
120
|
+
)
|