maidr 1.7.0__tar.gz → 1.7.1__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.
- {maidr-1.7.0 → maidr-1.7.1}/CHANGELOG.md +8 -0
- {maidr-1.7.0 → maidr-1.7.1}/PKG-INFO +1 -1
- {maidr-1.7.0 → maidr-1.7.1}/maidr/__init__.py +1 -1
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/lineplot.py +8 -3
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/mixin/extractor_mixin.py +54 -7
- {maidr-1.7.0 → maidr-1.7.1}/pyproject.toml +1 -1
- {maidr-1.7.0 → maidr-1.7.1}/uv.lock +1 -1
- {maidr-1.7.0 → maidr-1.7.1}/.commitlintrc.cjs +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.editorconfig +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.github/copilot-instructions.md +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.github/workflows/ci.yml +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.github/workflows/docs.yml +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.github/workflows/release.yml +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.gitignore +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.pre-commit-config.yaml +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.vscode/extensions.json +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/.vscode/settings.json +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/CONDUCT.md +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/CONTRIBUTING.md +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/LICENSE +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/README.md +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/.gitignore +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/CNAME +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/_environment +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/_extensions/machow/interlinks/.gitignore +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/_extensions/machow/interlinks/_extension.yml +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/_extensions/machow/interlinks/interlinks.lua +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/_extensions/shafayetShafee/line-highlight/_extension.yml +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/_extensions/shafayetShafee/line-highlight/line-highlight.lua +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/_extensions/shafayetShafee/line-highlight/resources/css/line-highlight.css +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/_extensions/shafayetShafee/line-highlight/resources/js/line-highlight.js +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/_quarto.yml +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/examples.qmd +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/index.qmd +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/docs/styles.css +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/bar/example_bar_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/bar/matplotlib/example_mpl_bar_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/bar/seaborn/example_sns_bar_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/box/example_box_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/box/matplotlib/example_mpl_box.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/box/seaborn/example_sns_box.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/candle_stick/legacy_candlestick_example.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/candle_stick/mplfinance_candlestick_example.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/candle_stick/test_data_daily_current_year.csv +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/candle_stick/test_data_daily_mixed_years.csv +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/candle_stick/test_data_hourly.csv +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/candle_stick/test_data_minute.csv +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/candle_stick/test_data_weekly.csv +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/candle_stick/volcandat.csv +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/count/example_count_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/count/seaborn/example_sns_count_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/dodged/matplotlib/example_mpl_dodged.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/dodged/seaborn/example_sns_dodged.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/facet-subplots/matplotlib/example_mpl_facet_bar_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/facet-subplots/matplotlib/example_mpl_facet_combined_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/facet-subplots/seaborn/example_sns_facet_bar_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/facet-subplots/seaborn/example_sns_facet_combined_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/flask/test_flask_app.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/heatmap/example_heatmap_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/heatmap/matplotlib/example_mpl_heatmap.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/heatmap/seaborn/example_sns_heatmap.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/histogram/example_histogram_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/histogram/matplotlib/example_mpl_hist.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/histogram/matplotlib/histogram_with_kde_matplotlib.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/histogram/seaborn/example_sns_hist.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/histogram/seaborn/histogram_with_kde_seaborn.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/kde/example_kde_plots.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/kde/matplotlib/multiple_kde_matplotlib.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/kde/matplotlib/single_kde_matplotlib.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/kde/seaborn/multiple_kde_seaborn.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/kde/seaborn/single_kde_seaborn.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/line/example_line_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/line/matplotlib/example_mpl_line.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/line/seaborn/example_sns_line.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/multilayer/example_mpl_multilayer.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/multilayer/example_multilayer_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/multiline/example_multiline_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/multiline/matplotlib/example_mpl_multiline.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/multiline/seaborn/example_sns_multiline.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/multipanel/example_multipanel_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/multipanel/matplotlib/example_mpl_multipanel.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/multipanel/seaborn/example_sns_multipanel.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/quarto/demo.qmd +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/reg/example_reg_plots.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/reg/matplotlib/example_matplotlib_smooth_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/reg/seaborn/example_sns_reg.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/scatter/example_scatter_plot.ipynb +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/scatter/matplotlib/example_mpl_scatter.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/scatter/seaborn/example_sns_scatter.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/shiny/example_shiny_scatter.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/stacked/matplotlib/example_mpl_stacked.html +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/stacked/matplotlib/example_mpl_stacked.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/stacked/seaborn/example_sns_stacked.html +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/stacked/seaborn/example_sns_stacked.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/example/streamlit/example_streamlit_app.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/api.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/context_manager.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/enum/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/enum/library.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/enum/maidr_key.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/enum/plot_type.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/enum/smooth_keywords.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/figure_manager.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/maidr.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/barplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/boxplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/candlestick.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/grouped_barplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/heatmap.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/histogram.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/maidr_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/maidr_plot_factory.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/mplfinance_barplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/mplfinance_lineplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/regplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/core/plot/scatterplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/exception/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/exception/extraction_error.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/barplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/boxplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/candlestick.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/clear.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/common.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/heatmap.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/highlight.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/histogram.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/kdeplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/lineplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/mplfinance.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/regplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/patch/scatterplot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/datetime_conversion.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/dedup_utils.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/environment.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/mixin/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/mixin/merger_mixin.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/mplfinance_utils.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/plot_detection.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/regression_line_utils.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/util/svg_utils.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/widget/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/maidr/widget/shiny.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/conftest.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/core/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/core/enum/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/core/plot/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/core/test_figure_manager.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/core/test_maidr_plot.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/core/test_maidr_plot_factory.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/fixture/__init__.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/fixture/library_factory.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/fixture/matplotlib_factory.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tests/fixture/seaborn_factory.py +0 -0
- {maidr-1.7.0 → maidr-1.7.1}/tox.ini +0 -0
|
@@ -1,6 +1,14 @@
|
|
|
1
1
|
# CHANGELOG
|
|
2
2
|
|
|
3
3
|
|
|
4
|
+
## v1.7.1 (2025-09-03)
|
|
5
|
+
|
|
6
|
+
### Bug Fixes
|
|
7
|
+
|
|
8
|
+
- Address categorical x-values in line plot ([#236](https://github.com/xability/py-maidr/pull/236),
|
|
9
|
+
[`d4e0eea`](https://github.com/xability/py-maidr/commit/d4e0eea6e558fc6540eb9500b82dedb339f739b4))
|
|
10
|
+
|
|
11
|
+
|
|
4
12
|
## v1.7.0 (2025-08-21)
|
|
5
13
|
|
|
6
14
|
### Features
|
|
@@ -114,13 +114,18 @@ class MultiLinePlot(MaidrPlot, LineExtractorMixin):
|
|
|
114
114
|
elif not label.startswith("_child"):
|
|
115
115
|
line_type = label
|
|
116
116
|
|
|
117
|
+
# Use the new method to extract data with categorical labels
|
|
118
|
+
line_coords = LineExtractorMixin.extract_line_data_with_categorical_labels(self.ax, line)
|
|
119
|
+
if line_coords is None:
|
|
120
|
+
continue
|
|
121
|
+
|
|
117
122
|
line_data = [
|
|
118
123
|
{
|
|
119
|
-
MaidrKey.X:
|
|
120
|
-
MaidrKey.Y:
|
|
124
|
+
MaidrKey.X: x,
|
|
125
|
+
MaidrKey.Y: y,
|
|
121
126
|
**({MaidrKey.FILL: line_type} if line_type else {}),
|
|
122
127
|
}
|
|
123
|
-
for x, y in
|
|
128
|
+
for x, y in line_coords
|
|
124
129
|
]
|
|
125
130
|
|
|
126
131
|
if line_data:
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
from typing import Any
|
|
1
|
+
import numpy as np
|
|
2
|
+
from typing import Any, List, Optional, Tuple, Union
|
|
4
3
|
|
|
5
4
|
from matplotlib.axes import Axes
|
|
6
5
|
from matplotlib.cm import ScalarMappable
|
|
@@ -38,7 +37,7 @@ class ContainerExtractorMixin:
|
|
|
38
37
|
|
|
39
38
|
class LevelExtractorMixin:
|
|
40
39
|
@staticmethod
|
|
41
|
-
def extract_level(ax: Axes, key: MaidrKey = MaidrKey.X) ->
|
|
40
|
+
def extract_level(ax: Axes, key: MaidrKey = MaidrKey.X) -> Optional[List[str]]:
|
|
42
41
|
"""Retrieve label texts from Axes based on the specified Maidr key."""
|
|
43
42
|
if ax is None:
|
|
44
43
|
return None
|
|
@@ -95,7 +94,7 @@ class LevelExtractorMixin:
|
|
|
95
94
|
|
|
96
95
|
class LineExtractorMixin:
|
|
97
96
|
@staticmethod
|
|
98
|
-
def extract_line(ax: Axes) -> Line2D
|
|
97
|
+
def extract_line(ax: Axes) -> Optional[Line2D]:
|
|
99
98
|
"""Retrieve the last line object from Axes, if available."""
|
|
100
99
|
if ax is None or ax.get_lines() is None:
|
|
101
100
|
return None
|
|
@@ -105,7 +104,7 @@ class LineExtractorMixin:
|
|
|
105
104
|
return ax.get_lines()[-1]
|
|
106
105
|
|
|
107
106
|
@staticmethod
|
|
108
|
-
def extract_lines(ax: Axes) ->
|
|
107
|
+
def extract_lines(ax: Axes) -> Optional[List[Line2D]]:
|
|
109
108
|
"""Retrieve all line objects from Axes, if available."""
|
|
110
109
|
if ax is None or ax.get_lines() is None:
|
|
111
110
|
return None
|
|
@@ -114,6 +113,54 @@ class LineExtractorMixin:
|
|
|
114
113
|
# `maidr` package supports the same.
|
|
115
114
|
return ax.get_lines()
|
|
116
115
|
|
|
116
|
+
@staticmethod
|
|
117
|
+
def extract_line_data_with_categorical_labels(ax: Axes, line: Line2D) -> Optional[List[Tuple[Union[str, float], float]]]:
|
|
118
|
+
"""
|
|
119
|
+
Extract line data with proper handling of categorical x-axis labels.
|
|
120
|
+
|
|
121
|
+
Parameters
|
|
122
|
+
----------
|
|
123
|
+
ax : Axes
|
|
124
|
+
The matplotlib axes object
|
|
125
|
+
line : Line2D
|
|
126
|
+
The line object to extract data from
|
|
127
|
+
|
|
128
|
+
Returns
|
|
129
|
+
-------
|
|
130
|
+
Optional[List[Tuple[Union[str, float], float]]]
|
|
131
|
+
List of (x, y) tuples where x values are categorical labels if available,
|
|
132
|
+
or numeric values if no categorical labels are found
|
|
133
|
+
"""
|
|
134
|
+
if ax is None or line is None:
|
|
135
|
+
return None
|
|
136
|
+
|
|
137
|
+
xydata = line.get_xydata()
|
|
138
|
+
if xydata is None:
|
|
139
|
+
return None
|
|
140
|
+
|
|
141
|
+
# Convert to numpy array for easier handling
|
|
142
|
+
xy_array = np.asarray(xydata)
|
|
143
|
+
if xy_array.size == 0:
|
|
144
|
+
return None
|
|
145
|
+
|
|
146
|
+
# Extract x-axis labels for categorical data
|
|
147
|
+
x_labels = LevelExtractorMixin.extract_level(ax, MaidrKey.X)
|
|
148
|
+
|
|
149
|
+
# If we have categorical labels, map numeric coordinates to labels
|
|
150
|
+
if x_labels:
|
|
151
|
+
result = []
|
|
152
|
+
for x, y in xy_array:
|
|
153
|
+
# Map numeric x-coordinate to categorical label if available
|
|
154
|
+
if isinstance(x, (int, float)) and 0 <= int(x) < len(x_labels):
|
|
155
|
+
x_value = x_labels[int(x)]
|
|
156
|
+
else:
|
|
157
|
+
x_value = float(x)
|
|
158
|
+
result.append((x_value, float(y)))
|
|
159
|
+
return result
|
|
160
|
+
else:
|
|
161
|
+
# No categorical labels, return numeric values
|
|
162
|
+
return [(float(x), float(y)) for x, y in xy_array]
|
|
163
|
+
|
|
117
164
|
|
|
118
165
|
class CollectionExtractorMixin:
|
|
119
166
|
@staticmethod
|
|
@@ -133,7 +180,7 @@ class CollectionExtractorMixin:
|
|
|
133
180
|
|
|
134
181
|
class ScalarMappableExtractorMixin:
|
|
135
182
|
@staticmethod
|
|
136
|
-
def extract_scalar_mappable(ax: Axes) -> ScalarMappable
|
|
183
|
+
def extract_scalar_mappable(ax: Axes) -> Optional[ScalarMappable]:
|
|
137
184
|
"""Retrieve the first collection ScalarMappable from an Axes object."""
|
|
138
185
|
if ax is None or ax.get_children() is None:
|
|
139
186
|
return None
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maidr-1.7.0 → maidr-1.7.1}/docs/_extensions/shafayetShafee/line-highlight/line-highlight.lua
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{maidr-1.7.0 → maidr-1.7.1}/example/facet-subplots/matplotlib/example_mpl_facet_combined_plot.py
RENAMED
|
File without changes
|
|
File without changes
|
{maidr-1.7.0 → maidr-1.7.1}/example/facet-subplots/seaborn/example_sns_facet_combined_plot.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|