From 0c5e210518635e964c18c1036e212d5ad101f0b1 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 21 Aug 2026 22:26:50 +0200 Subject: [PATCH 01/14] Improve showing in jupyter lab --- pyproject.toml | 2 +- src/maxplotlib/canvas/canvas.py | 23 +++++++++++- src/maxplotlib/tests/test_canvas.py | 56 +++++++++++++++++++++++++++++ 3 files changed, 79 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 78d2e24..e8d4b05 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta" [project] name = "maxplotlibx" -version = "0.1.6" +version = "0.1.7" description = "A reproducible plotting module with various backends and export options." readme = "README.md" requires-python = ">=3.8" diff --git a/src/maxplotlib/canvas/canvas.py b/src/maxplotlib/canvas/canvas.py index cc7918c..a457864 100644 --- a/src/maxplotlib/canvas/canvas.py +++ b/src/maxplotlib/canvas/canvas.py @@ -39,6 +39,22 @@ def _parse_bool_env_var(name: str, default: bool = False) -> bool: return value.strip().lower() in {"1", "true", "yes", "on"} +def _display_matplotlib_figure_in_notebook(fig) -> bool: + """Display a Matplotlib figure through IPython when running in Jupyter.""" + try: + from IPython import get_ipython + from IPython.display import display + except ImportError: + return False + + shell = get_ipython() + if shell is None or "IPKernelApp" not in getattr(shell, "config", {}): + return False + + display(fig) + return True + + def plot_matplotlib(tikzfigure: TikzFigure, ax, layers=None): """ Plot all nodes and paths on the provided axis using Matplotlib. @@ -979,7 +995,12 @@ def show( ) if verbose: print("Displaying Matplotlib figure...") - plt.show(block=block) + if _display_matplotlib_figure_in_notebook(fig): + # IPython has rendered the figure already. Closing it prevents + # a later implicit pyplot display and releases its resources. + plt.close(fig) + else: + plt.show(block=block) return fig, axes elif backend == "plotly": resolved_usetex = self._usetex if usetex is None else usetex diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index 7bd8f9a..656ca1f 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -355,6 +355,62 @@ def test_canvas_show_uses_matplotlib_show(monkeypatch): assert axes is not None +def test_canvas_show_uses_ipython_display_in_jupyter(monkeypatch): + import matplotlib.pyplot as plt + import pytest + import sys + import types + + from maxplotlib import Canvas + + displayed = [] + closed = [] + fig = object() + + ipython = types.ModuleType("IPython") + ipython.get_ipython = lambda: types.SimpleNamespace(config={"IPKernelApp": {}}) + ipython_display = types.ModuleType("IPython.display") + ipython_display.display = displayed.append + + monkeypatch.setitem(sys.modules, "IPython", ipython) + monkeypatch.setitem(sys.modules, "IPython.display", ipython_display) + monkeypatch.setattr(plt, "close", lambda value: closed.append(value)) + monkeypatch.setattr(Canvas, "plot", lambda *args, **kwargs: (fig, object())) + monkeypatch.setattr(plt, "show", lambda: pytest.fail("pyplot.show was called")) + + canvas = Canvas() + result = canvas.show() + assert result[0] is fig + assert result[1] is not None + assert displayed == [fig] + assert closed == [fig] + + +def test_canvas_show_falls_back_to_pyplot_outside_jupyter(monkeypatch): + import matplotlib.pyplot as plt + import pytest + import sys + import types + + from maxplotlib import Canvas + + calls = [] + ipython = types.ModuleType("IPython") + ipython.get_ipython = lambda: types.SimpleNamespace(config={}) + ipython_display = types.ModuleType("IPython.display") + ipython_display.display = lambda fig: pytest.fail("IPython display was called") + + monkeypatch.setitem(sys.modules, "IPython", ipython) + monkeypatch.setitem(sys.modules, "IPython.display", ipython_display) + monkeypatch.setattr(plt, "show", lambda *args, **kwargs: calls.append(kwargs)) + + canvas = Canvas() + canvas.add_subplot().plot([0, 1], [0, 1]) + canvas.show(block=False) + + assert calls == [{"block": False}] + + def test_canvas_show_block_false_is_forwarded(monkeypatch): import matplotlib.pyplot as plt From 7e419f798fbced14f034ca946c06d81c79e21a3a Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 21 Aug 2026 22:27:56 +0200 Subject: [PATCH 02/14] Add rotation --- src/maxplotlib/canvas/canvas.py | 24 +++++++++++---- src/maxplotlib/subfigure/line_plot.py | 33 ++++++++++++++------- src/maxplotlib/tests/test_canvas.py | 17 +++++++++++ src/maxplotlib/tests/test_plotly_backend.py | 12 ++++++++ 4 files changed, 70 insertions(+), 16 deletions(-) diff --git a/src/maxplotlib/canvas/canvas.py b/src/maxplotlib/canvas/canvas.py index a457864..45678a2 100644 --- a/src/maxplotlib/canvas/canvas.py +++ b/src/maxplotlib/canvas/canvas.py @@ -543,16 +543,26 @@ def set_yscale(self, scale: str, row: int | None = None, col: int | None = None) self._get_or_create_subplot(row, col).set_yscale(scale) def set_xticks( - self, ticks, labels=None, row: int | None = None, col: int | None = None + self, + ticks, + labels=None, + row: int | None = None, + col: int | None = None, + **kwargs, ): - """Set x-axis tick positions (and optional labels) for a subplot.""" - self._get_or_create_subplot(row, col).set_xticks(ticks, labels) + """Set x-axis ticks and optional label properties for a subplot.""" + self._get_or_create_subplot(row, col).set_xticks(ticks, labels, **kwargs) def set_yticks( - self, ticks, labels=None, row: int | None = None, col: int | None = None + self, + ticks, + labels=None, + row: int | None = None, + col: int | None = None, + **kwargs, ): - """Set y-axis tick positions (and optional labels) for a subplot.""" - self._get_or_create_subplot(row, col).set_yticks(ticks, labels) + """Set y-axis ticks and optional label properties for a subplot.""" + self._get_or_create_subplot(row, col).set_yticks(ticks, labels, **kwargs) def fill_between( self, @@ -1424,6 +1434,7 @@ def plot_plotly( tickmode="array", tickvals=tickvals, ticktext=line_plot._xticklabels, + tickangle=line_plot._xtick_kwargs.get("rotation"), row=row + 1, col=col + 1, ) @@ -1433,6 +1444,7 @@ def plot_plotly( tickmode="array", tickvals=tickvals, ticktext=line_plot._yticklabels, + tickangle=line_plot._ytick_kwargs.get("rotation"), row=row + 1, col=col + 1, ) diff --git a/src/maxplotlib/subfigure/line_plot.py b/src/maxplotlib/subfigure/line_plot.py index 4a5a49d..eceb8bc 100644 --- a/src/maxplotlib/subfigure/line_plot.py +++ b/src/maxplotlib/subfigure/line_plot.py @@ -88,8 +88,10 @@ def __init__( # Custom tick positions and labels self._xticks: list | None = None self._xticklabels: list | None = None + self._xtick_kwargs: dict = {} self._yticks: list | None = None self._yticklabels: list | None = None + self._ytick_kwargs: dict = {} # Aspect ratio self._aspect = None @@ -305,15 +307,22 @@ def set_yscale(self, scale: str): """Set the y-axis scale type: 'linear', 'log', or 'symlog'.""" self._yaxis_scale = scale - def set_xticks(self, ticks, labels=None): - """Set x-axis tick positions and optional labels.""" + def set_xticks(self, ticks, labels=None, **kwargs): + """Set x-axis tick positions, labels, and label properties. + + Keyword arguments are forwarded to the plotting backend. For example, + ``rotation=45`` rotates the tick labels in the Matplotlib and Plotly + backends. + """ self._xticks = list(ticks) self._xticklabels = list(labels) if labels is not None else None + self._xtick_kwargs = dict(kwargs) - def set_yticks(self, ticks, labels=None): - """Set y-axis tick positions and optional labels.""" + def set_yticks(self, ticks, labels=None, **kwargs): + """Set y-axis tick positions, labels, and label properties.""" self._yticks = list(ticks) self._yticklabels = list(labels) if labels is not None else None + self._ytick_kwargs = dict(kwargs) def set_aspect(self, aspect): """Set the axes aspect ratio: 'equal', 'auto', or a float.""" @@ -654,13 +663,17 @@ def plot_matplotlib( if self._yaxis_scale is not None: ax.set_yscale(self._yaxis_scale) if self._xticks is not None: - ax.set_xticks(self._xticks) - if self._xticklabels is not None: - ax.set_xticklabels(self._xticklabels) + ax.set_xticks( + self._xticks, + labels=self._xticklabels, + **self._xtick_kwargs, + ) if self._yticks is not None: - ax.set_yticks(self._yticks) - if self._yticklabels is not None: - ax.set_yticklabels(self._yticklabels) + ax.set_yticks( + self._yticks, + labels=self._yticklabels, + **self._ytick_kwargs, + ) if self._aspect is not None: ax.set_aspect(self._aspect) diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index 656ca1f..e35f726 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -431,6 +431,23 @@ def test_canvas_show_block_false_is_forwarded(monkeypatch): assert calls == [((), {"block": False})] +def test_canvas_tick_label_rotation_is_forwarded_to_matplotlib(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.plot([0, 1], [0, 1]) + canvas.set_xticks([0, 1], labels=["zero", "one"], rotation=45) + + fig, axes = canvas.plot() + assert [label.get_rotation() for label in axes[0][0].get_xticklabels()] == [ + 45.0, + 45.0, + ] + plt.close(fig) + + def test_show_canvas_script_invokes_canvas_show(monkeypatch): import maxplotlib diff --git a/src/maxplotlib/tests/test_plotly_backend.py b/src/maxplotlib/tests/test_plotly_backend.py index 2184972..2d18c4a 100644 --- a/src/maxplotlib/tests/test_plotly_backend.py +++ b/src/maxplotlib/tests/test_plotly_backend.py @@ -28,6 +28,18 @@ def test_plotly_backend_supports_common_primitives(): ) # subplot title + text/annotate +def test_plotly_backend_supports_tick_label_rotation(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.plot([0, 1], [0, 1]) + axis.set_xticks([0, 1], labels=["zero", "one"], rotation=45) + + fig = canvas.plot(backend="plotly") + + assert fig.layout.xaxis.tickangle == 45 + + def test_plotly_backend_respects_layers(): from maxplotlib import Canvas From 155600b583dd4676876973717d21035420a23e3c Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 21 Aug 2026 22:42:26 +0200 Subject: [PATCH 03/14] Allow for passing any matplotlib function call --- README.md | 189 ++++++++++++++++-- README.qmd | 32 +++ .../figure-commonmark/cell-10-output-1.png | Bin 0 -> 19238 bytes .../figure-commonmark/cell-11-output-1.png | Bin 0 -> 19238 bytes .../figure-commonmark/cell-12-output-1.png | Bin 0 -> 36114 bytes .../figure-commonmark/cell-3-output-1.png | Bin 0 -> 37127 bytes .../figure-commonmark/cell-4-output-1.png | Bin 0 -> 39479 bytes .../figure-commonmark/cell-6-output-1.png | Bin 0 -> 34433 bytes .../figure-commonmark/cell-7-output-1.png | Bin 0 -> 34433 bytes .../fig-showcase-subplots-output-1.png | Bin 0 -> 25103 bytes src/maxplotlib/canvas/canvas.py | 79 ++++++++ src/maxplotlib/tests/test_canvas.py | 83 ++++++++ 12 files changed, 368 insertions(+), 15 deletions(-) create mode 100644 README_files/figure-commonmark/cell-10-output-1.png create mode 100644 README_files/figure-commonmark/cell-11-output-1.png create mode 100644 README_files/figure-commonmark/cell-12-output-1.png create mode 100644 README_files/figure-commonmark/cell-3-output-1.png create mode 100644 README_files/figure-commonmark/cell-4-output-1.png create mode 100644 README_files/figure-commonmark/cell-6-output-1.png create mode 100644 README_files/figure-commonmark/cell-7-output-1.png create mode 100644 README_files/figure-commonmark/fig-showcase-subplots-output-1.png diff --git a/README.md b/README.md index 1eac2d2..42c8932 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,6 @@ +# Maxlotlib + + # Maxplotlib A clean, expressive wrapper around **Matplotlib**, **Plotly**, @@ -17,6 +20,8 @@ pip install maxplotlibx ### Quickstart +
+ ``` python import numpy as np from maxplotlib import Canvas @@ -28,13 +33,48 @@ canvas, ax = Canvas.subplots() ax.plot(x, y) ``` +Figure 1 + +
+ Plot the figure with the default (matplotlib) backend: ``` python canvas.show() ``` -![](README_files/figure-markdown_strict/cell-3-output-1.png) +![](README_files/figure-commonmark/cell-3-output-1.png) + +For Matplotlib-specific customization, pass method calls declaratively. +Figure methods run once and axes methods run for every subplot, +providing access to any Matplotlib API without requiring a maxplotlib +wrapper: + +``` python +canvas.plot(matplotlib_customizations={ + "figure": { + "suptitle": "My figure", + }, + "axes": { + "tick_params": { + "axis": "both", + "which": "major", + "length": 6, + }, + }, +}) +``` + +For dynamic customization, the same option also accepts a function: + +``` python +def customize(fig, axes): + fig.suptitle("My figure") + for ax in axes.flat: + ax.tick_params(axis="both", which="major", length=6) + +canvas.plot(matplotlib_customizations=customize) +``` Render the same line graph directly in the terminal with the `plotext` backend: @@ -44,20 +84,111 @@ terminal_fig = canvas.plot(backend="plotext") print(terminal_fig.build(keep_colors=False)) ``` + ┌─────────────────────────────────────────────────────────────────────────┐ + 1.00┤ ▗▄▟▀▀▀▀▀▙▄ │ + │ ▄▞▘ ▀▚▖ │ + │ ▄▛ ▝▚▖ │ + 0.67┤ ▗▞ ▝▚▖ │ + │ ▄▀ ▀▖ │ + │ ▗▞▘ ▝▚ │ + 0.33┤ ▗▀ ▀▖ │ + │ ▞▘ ▀▖ │ + │▗▞▘ ▝▚ │ + 0.00┤▀ ▝▚▖ ▞│ + │ ▚▖ ▗▞▘│ + │ ▝▄ ▗▞ │ + -0.33┤ ▝▄ ▄▘ │ + │ ▚▖ ▗▞▘ │ + │ ▝▄ ▄▀ │ + -0.67┤ ▝▚▖ ▞▘ │ + │ ▝▚▖ ▟▀ │ + │ ▝▚▄ ▗▞▀ │ + -1.00┤ ▀▜▄▄▄▄▄▛▀▘ │ + └┬─────────────────┬─────────────────┬─────────────────┬─────────────────┬┘ + 0.0 1.6 3.1 4.7 6.3 + Or plot with the TikZ backend: ``` python canvas.show(backend="tikzfigure") ``` -![](README_files/figure-markdown_strict/cell-4-output-1.png) +![](README_files/figure-commonmark/cell-7-output-1.png) + + \begin{tikzpicture} + \begin{groupplot}[group style={group size=1 by 1, horizontal sep=1.5cm}] + \nextgroupplot[grid=none, title=Subplot 1] + \addplot[color=black, line width=1.0] coordinates {(0.0,0.0) (0.03157379551346526,0.03156854976481053) (0.06314759102693052,0.06310563131267365) (0.09472138654039577,0.09457980779484494) (0.12629518205386103,0.12595970506771756) (0.1578689775673263,0.15721404296725078) (0.18944277308079155,0.18831166648971787) (0.2210165685942568,0.21922157684769134) (0.25259036410772207,0.24991296237030836) (0.28416415962118735,0.28035522921701445) (0.3157379551346526,0.3105180318741688) (0.3473117506481178,0.3403713034041128) (0.3788855461615831,0.3698852854165468) (0.4104593416750484,0.399030557732341) (0.4420331371885136,0.4277780677102096) (0.47360693270197884,0.45609915920701594) (0.5051807282154441,0.48396560114283876) (0.5367545237289094,0.5113496156423267) (0.5683283192423747,0.5382239057242886) (0.5999021147558399,0.5645616825119181) (0.6314759102693052,0.5903366919365284) (0.6630497057827704,0.6155232409081792) (0.6946235012962356,0.6400962229271071) (0.7261972968097009,0.6640311431104312) (0.7577710923231662,0.6873041426091843) (0.7893448878366315,0.7098920223913329) (0.8209186833500968,0.7317722663670768) (0.8524924788635619,0.752923063833377) (0.8840662743770272,0.773323331215339) (0.9156400698904925,0.7929527330827786) (0.9472138654039577,0.8117917024210207) (0.978787660917423,0.8298214601357258) (1.0103614564308883,0.8470240337722988) (1.0419352519443534,0.8633822754312233) (1.0735090474578188,0.8788798788614604) (1.105082842971284,0.8935013957148741) (1.1366566384847494,0.9072322509454814) (1.1682304339982146,0.9200587573381745) (1.1998042295116798,0.9319681291524348) (1.2313780250251452,0.942948494867437) (1.2629518205386103,0.9529889090158392) (1.2945256160520755,0.9620793630944628) (1.326099411565541,0.9702107955409863) (1.357673207079006,0.9773751007667072) (1.3892470025924712,0.9835651372363698) (1.4208207981059366,0.9887747345870026) (1.4523945936194018,0.9929986997786696) (1.4839683891328672,0.9962328222710067) (1.5155421846463324,0.9984738782203788) (1.5471159801597976,0.9997196336934779) (1.578689775673263,0.9999688468941563) (1.6102635711867281,0.9992212694012756) (1.6418373667001935,0.9974776464163387) (1.6734111622136587,0.9947397160206569) (1.7049849577271239,0.9910102074427921) (1.7365587532405893,0.9862928383380027) (1.7681325487540545,0.9805923110824041) (1.7997063442675196,0.9739143080855378) (1.831280139780985,0.9662654861260218) (1.8628539352944502,0.9576534697159296) (1.8944277308079154,0.9480868435005095) (1.9260015263213808,0.9375751437008251) (1.957575321834846,0.9261288486078413) (1.9891491173483113,0.9137593681374367) (2.0207229128617765,0.9004790324567516) (2.0522967083752417,0.8863010796932087) (2.083870503888707,0.8712396427384597) (2.1154442994021725,0.8553097351604118) (2.1470180949156377,0.8385272362373773) (2.178591890429103,0.8209088751292626) (2.210165685942568,0.802472214201578) (2.241739481456033,0.7832356315188905) (2.273313276969499,0.7632183025251684) (2.304887072482964,0.7424401809292831) (2.336460867996429,0.7209219788147164) (2.3680346635098943,0.6986851459933066) (2.3996084590233595,0.6757518486236088) (2.4311822545368247,0.6521449471151868) (2.4627560500502903,0.6278879733408583) (2.4943298455637555,0.6030051071796145) (2.5259036410772207,0.5775211524135886) (2.557477436590686,0.5514615120031076) (2.589051232104151,0.5248521627644684) (2.6206250276176166,0.497719629475683) (2.652198823131082,0.47009095843600296) (2.683772618644547,0.44199369050557913) (2.715346414158012,0.4134558336521342) (2.7469202096714773,0.384505835032011) (2.7784940051849425,0.3551725526334286) (2.810067800698408,0.3254852265102116) (2.8416415962118733,0.29547344963467004) (2.8732153917253385,0.2651671383986787) (2.9047891872388036,0.23459650279236888) (2.936362982752269,0.20379201629015234) (2.9679367782657344,0.17278438547409944) (2.9995105737791996,0.14160451942495159) (3.031084369292665,0.11028349891127508) (3.06265816480613,0.0788525454074766) (3.094231960319595,0.047342989971558204) (3.1258057558330608,0.01578624201363682) (3.157379551346526,-0.015786242013637018) (3.188953346859991,-0.04734298997155796) (3.2205271423734563,-0.07885254540747635) (3.2521009378869215,-0.11028349891127483) (3.283674733400387,-0.14160451942495178) (3.3152485289138522,-0.17278438547409963) (3.3468223244273174,-0.20379201629015212) (3.3783961199407826,-0.23459650279236863) (3.4099699154542478,-0.2651671383986785) (3.441543710967713,-0.2954734496346698) (3.4731175064811786,-0.32548522651021183) (3.5046913019946437,-0.3551725526334284) (3.536265097508109,-0.38450583503201075) (3.567838893021574,-0.41345583365213395) (3.5994126885350393,-0.4419936905055789) (3.630986484048505,-0.4700909584360031) (3.66256027956197,-0.49771962947568316) (3.6941340750754352,-0.5248521627644683) (3.7257078705889004,-0.5514615120031073) (3.7572816661023656,-0.5775211524135885) (3.7888554616158308,-0.6030051071796143) (3.8204292571292964,-0.6278879733408584) (3.8520030526427615,-0.6521449471151866) (3.8835768481562267,-0.6757518486236087) (3.915150643669692,-0.6986851459933063) (3.946724439183157,-0.7209219788147162) (3.9782982346966227,-0.7424401809292832) (4.009872030210087,-0.7632183025251682) (4.041445825723553,-0.7832356315188903) (4.073019621237019,-0.8024722142015781) (4.104593416750483,-0.8209088751292625) (4.136167212263949,-0.8385272362373775) (4.167741007777414,-0.8553097351604116) (4.199314803290879,-0.8712396427384596) (4.230888598804345,-0.8863010796932088) (4.26246239431781,-0.9004790324567515) (4.294036189831275,-0.9137593681374367) (4.32560998534474,-0.9261288486078411) (4.357183780858206,-0.9375751437008251) (4.388757576371671,-0.9480868435005096) (4.420331371885136,-0.9576534697159295) (4.451905167398602,-0.9662654861260219) (4.483478962912066,-0.9739143080855377) (4.515052758425532,-0.9805923110824041) (4.546626553938998,-0.9862928383380027) (4.578200349452462,-0.9910102074427921) (4.609774144965928,-0.994739716020657) (4.641347940479393,-0.9974776464163387) (4.672921735992858,-0.9992212694012756) (4.704495531506323,-0.9999688468941563) (4.736069327019789,-0.9997196336934779) (4.767643122533254,-0.9984738782203788) (4.799216918046719,-0.9962328222710067) (4.830790713560185,-0.9929986997786696) (4.862364509073649,-0.9887747345870026) (4.893938304587115,-0.98356513723637) (4.925512100100581,-0.9773751007667072) (4.957085895614045,-0.9702107955409863) (4.988659691127511,-0.9620793630944628) (5.020233486640976,-0.9529889090158394) (5.051807282154441,-0.942948494867437) (5.083381077667907,-0.9319681291524348) (5.114954873181372,-0.9200587573381745) (5.146528668694837,-0.9072322509454813) (5.178102464208302,-0.8935013957148743) (5.209676259721768,-0.8788798788614604) (5.241250055235233,-0.8633822754312233) (5.272823850748698,-0.847024033772299) (5.304397646262164,-0.8298214601357258) (5.335971441775628,-0.8117917024210209) (5.367545237289094,-0.7929527330827786) (5.39911903280256,-0.7733233312153388) (5.430692828316024,-0.7529230638333771) (5.46226662382949,-0.7317722663670767) (5.493840419342955,-0.7098920223913331) (5.52541421485642,-0.6873041426091843) (5.556988010369885,-0.6640311431104317) (5.588561805883351,-0.6400962229271073) (5.620135601396816,-0.615523240908179) (5.651709396910281,-0.5903366919365287) (5.683283192423747,-0.5645616825119181) (5.714856987937211,-0.538223905724289) (5.746430783450677,-0.5113496156423268) (5.7780045789641425,-0.4839656011428386) (5.809578374477607,-0.45609915920701627) (5.841152169991073,-0.4277780677102096) (5.872725965504538,-0.3990305577323414) (5.904299761018003,-0.36988528541654697) (5.935873556531469,-0.34037130340411265) (5.967447352044934,-0.3105180318741691) (5.999021147558399,-0.28035522921701433) (6.030594943071864,-0.2499129623703088) (6.06216873858533,-0.21922157684769145) (6.093742534098795,-0.18831166648971762) (6.12531632961226,-0.15721404296725106) (6.1568901251257255,-0.12595970506771748) (6.18846392063919,-0.09457980779484539) (6.220037716152656,-0.06310563131267372) (6.2516115116661215,-0.031568549764810244) (6.283185307179586,-2.4492935982947064e-16)}; + + \end{groupplot} + \end{tikzpicture} + +### Horizontal Subplots with TikZ Backend + +The tikzfigure backend supports creating side-by-side subplots (1×n +layouts): + +``` python +x = np.linspace(0, 2 * np.pi, 200) +canvas, (ax1, ax2) = Canvas.subplots(ncols=2, width="10cm", ratio=0.3) + +ax1.plot(x, np.sin(x), color="royalblue") +ax1.set_title("sin(x)") + +ax2.plot(x, np.cos(x), color="tomato") +ax2.set_title("cos(x)") + +canvas.suptitle("Trigonometric Functions") +canvas.show(backend="tikzfigure") # Generates LaTeX subfigures +``` -### Terminal backend +
+ +
+ +
+ + + +(a) + +
+ +
+ +
+ + \begin{tikzpicture} + \begin{groupplot}[group style={group size=2 by 1, horizontal sep=1.5cm}] + \nextgroupplot[grid=none, width=4.25cm, height=3cm, title=sin(x)] + \addplot[color=royalblue, line width=1.0] coordinates {(0.0,0.0) (0.03157379551346526,0.03156854976481053) (0.06314759102693052,0.06310563131267365) (0.09472138654039577,0.09457980779484494) (0.12629518205386103,0.12595970506771756) (0.1578689775673263,0.15721404296725078) (0.18944277308079155,0.18831166648971787) (0.2210165685942568,0.21922157684769134) (0.25259036410772207,0.24991296237030836) (0.28416415962118735,0.28035522921701445) (0.3157379551346526,0.3105180318741688) (0.3473117506481178,0.3403713034041128) (0.3788855461615831,0.3698852854165468) (0.4104593416750484,0.399030557732341) (0.4420331371885136,0.4277780677102096) (0.47360693270197884,0.45609915920701594) (0.5051807282154441,0.48396560114283876) (0.5367545237289094,0.5113496156423267) (0.5683283192423747,0.5382239057242886) (0.5999021147558399,0.5645616825119181) (0.6314759102693052,0.5903366919365284) (0.6630497057827704,0.6155232409081792) (0.6946235012962356,0.6400962229271071) (0.7261972968097009,0.6640311431104312) (0.7577710923231662,0.6873041426091843) (0.7893448878366315,0.7098920223913329) (0.8209186833500968,0.7317722663670768) (0.8524924788635619,0.752923063833377) (0.8840662743770272,0.773323331215339) (0.9156400698904925,0.7929527330827786) (0.9472138654039577,0.8117917024210207) (0.978787660917423,0.8298214601357258) (1.0103614564308883,0.8470240337722988) (1.0419352519443534,0.8633822754312233) (1.0735090474578188,0.8788798788614604) (1.105082842971284,0.8935013957148741) (1.1366566384847494,0.9072322509454814) (1.1682304339982146,0.9200587573381745) (1.1998042295116798,0.9319681291524348) (1.2313780250251452,0.942948494867437) (1.2629518205386103,0.9529889090158392) (1.2945256160520755,0.9620793630944628) (1.326099411565541,0.9702107955409863) (1.357673207079006,0.9773751007667072) (1.3892470025924712,0.9835651372363698) (1.4208207981059366,0.9887747345870026) (1.4523945936194018,0.9929986997786696) (1.4839683891328672,0.9962328222710067) (1.5155421846463324,0.9984738782203788) (1.5471159801597976,0.9997196336934779) (1.578689775673263,0.9999688468941563) (1.6102635711867281,0.9992212694012756) (1.6418373667001935,0.9974776464163387) (1.6734111622136587,0.9947397160206569) (1.7049849577271239,0.9910102074427921) (1.7365587532405893,0.9862928383380027) (1.7681325487540545,0.9805923110824041) (1.7997063442675196,0.9739143080855378) (1.831280139780985,0.9662654861260218) (1.8628539352944502,0.9576534697159296) (1.8944277308079154,0.9480868435005095) (1.9260015263213808,0.9375751437008251) (1.957575321834846,0.9261288486078413) (1.9891491173483113,0.9137593681374367) (2.0207229128617765,0.9004790324567516) (2.0522967083752417,0.8863010796932087) (2.083870503888707,0.8712396427384597) (2.1154442994021725,0.8553097351604118) (2.1470180949156377,0.8385272362373773) (2.178591890429103,0.8209088751292626) (2.210165685942568,0.802472214201578) (2.241739481456033,0.7832356315188905) (2.273313276969499,0.7632183025251684) (2.304887072482964,0.7424401809292831) (2.336460867996429,0.7209219788147164) (2.3680346635098943,0.6986851459933066) (2.3996084590233595,0.6757518486236088) (2.4311822545368247,0.6521449471151868) (2.4627560500502903,0.6278879733408583) (2.4943298455637555,0.6030051071796145) (2.5259036410772207,0.5775211524135886) (2.557477436590686,0.5514615120031076) (2.589051232104151,0.5248521627644684) (2.6206250276176166,0.497719629475683) (2.652198823131082,0.47009095843600296) (2.683772618644547,0.44199369050557913) (2.715346414158012,0.4134558336521342) (2.7469202096714773,0.384505835032011) (2.7784940051849425,0.3551725526334286) (2.810067800698408,0.3254852265102116) (2.8416415962118733,0.29547344963467004) (2.8732153917253385,0.2651671383986787) (2.9047891872388036,0.23459650279236888) (2.936362982752269,0.20379201629015234) (2.9679367782657344,0.17278438547409944) (2.9995105737791996,0.14160451942495159) (3.031084369292665,0.11028349891127508) (3.06265816480613,0.0788525454074766) (3.094231960319595,0.047342989971558204) (3.1258057558330608,0.01578624201363682) (3.157379551346526,-0.015786242013637018) (3.188953346859991,-0.04734298997155796) (3.2205271423734563,-0.07885254540747635) (3.2521009378869215,-0.11028349891127483) (3.283674733400387,-0.14160451942495178) (3.3152485289138522,-0.17278438547409963) (3.3468223244273174,-0.20379201629015212) (3.3783961199407826,-0.23459650279236863) (3.4099699154542478,-0.2651671383986785) (3.441543710967713,-0.2954734496346698) (3.4731175064811786,-0.32548522651021183) (3.5046913019946437,-0.3551725526334284) (3.536265097508109,-0.38450583503201075) (3.567838893021574,-0.41345583365213395) (3.5994126885350393,-0.4419936905055789) (3.630986484048505,-0.4700909584360031) (3.66256027956197,-0.49771962947568316) (3.6941340750754352,-0.5248521627644683) (3.7257078705889004,-0.5514615120031073) (3.7572816661023656,-0.5775211524135885) (3.7888554616158308,-0.6030051071796143) (3.8204292571292964,-0.6278879733408584) (3.8520030526427615,-0.6521449471151866) (3.8835768481562267,-0.6757518486236087) (3.915150643669692,-0.6986851459933063) (3.946724439183157,-0.7209219788147162) (3.9782982346966227,-0.7424401809292832) (4.009872030210087,-0.7632183025251682) (4.041445825723553,-0.7832356315188903) (4.073019621237019,-0.8024722142015781) (4.104593416750483,-0.8209088751292625) (4.136167212263949,-0.8385272362373775) (4.167741007777414,-0.8553097351604116) (4.199314803290879,-0.8712396427384596) (4.230888598804345,-0.8863010796932088) (4.26246239431781,-0.9004790324567515) (4.294036189831275,-0.9137593681374367) (4.32560998534474,-0.9261288486078411) (4.357183780858206,-0.9375751437008251) (4.388757576371671,-0.9480868435005096) (4.420331371885136,-0.9576534697159295) (4.451905167398602,-0.9662654861260219) (4.483478962912066,-0.9739143080855377) (4.515052758425532,-0.9805923110824041) (4.546626553938998,-0.9862928383380027) (4.578200349452462,-0.9910102074427921) (4.609774144965928,-0.994739716020657) (4.641347940479393,-0.9974776464163387) (4.672921735992858,-0.9992212694012756) (4.704495531506323,-0.9999688468941563) (4.736069327019789,-0.9997196336934779) (4.767643122533254,-0.9984738782203788) (4.799216918046719,-0.9962328222710067) (4.830790713560185,-0.9929986997786696) (4.862364509073649,-0.9887747345870026) (4.893938304587115,-0.98356513723637) (4.925512100100581,-0.9773751007667072) (4.957085895614045,-0.9702107955409863) (4.988659691127511,-0.9620793630944628) (5.020233486640976,-0.9529889090158394) (5.051807282154441,-0.942948494867437) (5.083381077667907,-0.9319681291524348) (5.114954873181372,-0.9200587573381745) (5.146528668694837,-0.9072322509454813) (5.178102464208302,-0.8935013957148743) (5.209676259721768,-0.8788798788614604) (5.241250055235233,-0.8633822754312233) (5.272823850748698,-0.847024033772299) (5.304397646262164,-0.8298214601357258) (5.335971441775628,-0.8117917024210209) (5.367545237289094,-0.7929527330827786) (5.39911903280256,-0.7733233312153388) (5.430692828316024,-0.7529230638333771) (5.46226662382949,-0.7317722663670767) (5.493840419342955,-0.7098920223913331) (5.52541421485642,-0.6873041426091843) (5.556988010369885,-0.6640311431104317) (5.588561805883351,-0.6400962229271073) (5.620135601396816,-0.615523240908179) (5.651709396910281,-0.5903366919365287) (5.683283192423747,-0.5645616825119181) (5.714856987937211,-0.538223905724289) (5.746430783450677,-0.5113496156423268) (5.7780045789641425,-0.4839656011428386) (5.809578374477607,-0.45609915920701627) (5.841152169991073,-0.4277780677102096) (5.872725965504538,-0.3990305577323414) (5.904299761018003,-0.36988528541654697) (5.935873556531469,-0.34037130340411265) (5.967447352044934,-0.3105180318741691) (5.999021147558399,-0.28035522921701433) (6.030594943071864,-0.2499129623703088) (6.06216873858533,-0.21922157684769145) (6.093742534098795,-0.18831166648971762) (6.12531632961226,-0.15721404296725106) (6.1568901251257255,-0.12595970506771748) (6.18846392063919,-0.09457980779484539) (6.220037716152656,-0.06310563131267372) (6.2516115116661215,-0.031568549764810244) (6.283185307179586,-2.4492935982947064e-16)}; + + \nextgroupplot[grid=none, width=4.25cm, height=3cm, title=cos(x)] + \addplot[color=tomato, line width=1.0] coordinates {(0.0,1.0) (0.03157379551346526,0.9995015891261738) (0.06314759102693052,0.9980068533314934) (0.09472138654039577,0.995517282601106) (0.12629518205386103,0.9920353585932578) (0.1578689775673263,0.9875645521655237) (0.18944277308079155,0.9821093199149804) (0.2210165685942568,0.9756750997357736) (0.25259036410772207,0.9682683053985072) (0.28416415962118735,0.959896320156857) (0.3157379551346526,0.9505674893877829) (0.3473117506481178,0.9402911122726756) (0.3788855461615831,0.9290774325277306) (0.4104593416750484,0.9169376281927888) (0.4420331371885136,0.9038838004888236) (0.47360693270197884,0.8899289617551803) (0.5051807282154441,0.8750870224785937) (0.5367545237289094,0.859372777426912) (0.5683283192423747,0.8428018909013506) (0.5999021147558399,0.8253908811219762) (0.6314759102693052,0.8071571037619854) (0.6630497057827704,0.7881187346471924) (0.6946235012962356,0.7682947516379708) (0.7261972968097009,0.7477049157117092) (0.7577710923231662,0.7263697512646394) (0.7893448878366315,0.7043105256526722) (0.8209186833500968,0.6815492279916338) (0.8524924788635619,0.6581085472380377) (0.8840662743770272,0.6340118495722387) (0.9156400698904925,0.6092831551065166) (0.9472138654039577,0.5839471139413063) (0.978787660917423,0.5580289815934402) (1.0103614564308883,0.5315545938209014) (1.0419352519443534,0.5045503408691775) (1.0735090474578188,0.47704314116488955) (1.105082842971284,0.44906041448292017) (1.1366566384847494,0.42063005461378417) (1.1682304339982146,0.39178040155849314) (1.1998042295116798,0.3625402132786245) (1.2313780250251452,0.33293863702976106) (1.2629518205386103,0.30300518030687273) (1.2945256160520755,0.2727696814306032) (1.326099411565541,0.24226227980378318) (1.357673207079006,0.21151338586781906) (1.3892470025924712,0.18055365078890231) (1.4208207981059366,0.14941393590426094) (1.4523945936194018,0.11812528195890805) (1.4839683891328672,0.08671887816355073) (1.5155421846463324,0.05522603110450817) (1.5471159801597976,0.0236781335366241) (1.578689775673263,-0.00789336690971331) (1.6102635711867281,-0.0394569990762527) (1.6418373667001935,-0.070981299648016) (1.6734111622136587,-0.10243484451661329) (1.7049849577271239,-0.13378628010447904) (1.7365587532405893,-0.1650043546187993) (1.7681325487540545,-0.196057949203978) (1.7997063442675196,-0.22691610896159004) (1.831280139780985,-0.2575480738068967) (1.8628539352944502,-0.28792330913116637) (1.8944277308079154,-0.3180115362392381) (1.9260015263213808,-0.34778276253198237) (1.957575321834846,-0.37720731140357594) (1.9891491173483113,-0.40625585182378904) (2.0207229128617765,-0.434899427575793) (2.0522967083752417,-0.4631094861203477) (2.083870503888707,-0.4908579070575935) (2.1154442994021725,-0.5181170301580775) (2.1470180949156377,-0.5448596829350705) (2.178591890429103,-0.5710592077306947) (2.210165685942568,-0.5966894882888559) (2.241739481456033,-0.6217249757884951) (2.273313276969499,-0.6461407143112099) (2.304887072482964,-0.6699123657178553) (2.336460867996429,-0.6930162339093318) (2.3680346635098943,-0.7154292884473712) (2.3996084590233595,-0.7371291875117789) (2.4311822545368247,-0.7580943001712453) (2.4627560500502903,-0.77830372794553) (2.4943298455637555,-0.7977373256375193) (2.5259036410772207,-0.8163757214143991) (2.557477436590686,-0.8342003361179174) (2.589051232104151,-0.8511934017844945) (2.6206250276176166,-0.8673379793567147) (2.652198823131082,-0.8826179755685469) (2.683772618644547,-0.8970181589874635) (2.715346414158012,-0.9105241751974622) (2.7469202096714773,-0.9231225611078606) (2.7784940051849425,-0.9348007583735982) (2.810067800698408,-0.9455471259136671) (2.8416415962118733,-0.9553509515151948) (2.8732153917253385,-0.9642024625116117) (2.9047891872388036,-0.972092835524257) (2.936362982752269,-0.9790142052577144) (2.9679367782657344,-0.9849596723401105) (2.9995105737791996,-0.9899233102005571) (3.031084369292665,-0.9939001709768878) (3.06265816480613,-0.9968862904477932) (3.094231960319595,-0.9988786919844436) (3.1258057558330608,-0.9998753895176573) (3.157379551346526,-0.9998753895176573) (3.188953346859991,-0.9988786919844436) (3.2205271423734563,-0.9968862904477932) (3.2521009378869215,-0.9939001709768879) (3.283674733400387,-0.9899233102005571) (3.3152485289138522,-0.9849596723401105) (3.3468223244273174,-0.9790142052577145) (3.3783961199407826,-0.972092835524257) (3.4099699154542478,-0.9642024625116118) (3.441543710967713,-0.9553509515151949) (3.4731175064811786,-0.9455471259136671) (3.5046913019946437,-0.9348007583735983) (3.536265097508109,-0.9231225611078607) (3.567838893021574,-0.9105241751974622) (3.5994126885350393,-0.8970181589874636) (3.630986484048505,-0.8826179755685468) (3.66256027956197,-0.8673379793567146) (3.6941340750754352,-0.8511934017844947) (3.7257078705889004,-0.8342003361179176) (3.7572816661023656,-0.8163757214143992) (3.7888554616158308,-0.7977373256375195) (3.8204292571292964,-0.7783037279455299) (3.8520030526427615,-0.7580943001712456) (3.8835768481562267,-0.737129187511779) (3.915150643669692,-0.7154292884473714) (3.946724439183157,-0.693016233909332) (3.9782982346966227,-0.6699123657178551) (4.009872030210087,-0.6461407143112101) (4.041445825723553,-0.6217249757884953) (4.073019621237019,-0.5966894882888557) (4.104593416750483,-0.571059207730695) (4.136167212263949,-0.5448596829350704) (4.167741007777414,-0.5181170301580778) (4.199314803290879,-0.49085790705759375) (4.230888598804345,-0.4631094861203475) (4.26246239431781,-0.4348994275757932) (4.294036189831275,-0.40625585182378887) (4.32560998534474,-0.37720731140357633) (4.357183780858206,-0.3477827625319824) (4.388757576371671,-0.3180115362392379) (4.420331371885136,-0.28792330913116665) (4.451905167398602,-0.2575480738068965) (4.483478962912066,-0.22691610896159048) (4.515052758425532,-0.19605794920397804) (4.546626553938998,-0.1650043546187989) (4.578200349452462,-0.13378628010447927) (4.609774144965928,-0.1024348445166131) (4.641347940479393,-0.07098129964801624) (4.672921735992858,-0.03945699907625272) (4.704495531506323,-0.007893366909713777) (4.736069327019789,0.023678133536623857) (4.767643122533254,0.05522603110450836) (4.799216918046719,0.08671887816355048) (4.830790713560185,0.11812528195890803) (4.862364509073649,0.14941393590426047) (4.893938304587115,0.1805536507889021) (4.925512100100581,0.21151338586781926) (4.957085895614045,0.24226227980378293) (4.988659691127511,0.27276968143060315) (5.020233486640976,0.3030051803068723) (5.051807282154441,0.332938637029761) (5.083381077667907,0.36254021327862473) (5.114954873181372,0.3917804015584929) (5.146528668694837,0.42063005461378433) (5.178102464208302,0.4490604144829198) (5.209676259721768,0.47704314116488955) (5.241250055235233,0.5045503408691777) (5.272823850748698,0.5315545938209012) (5.304397646262164,0.5580289815934403) (5.335971441775628,0.5839471139413059) (5.367545237289094,0.6092831551065166) (5.39911903280256,0.6340118495722389) (5.430692828316024,0.6581085472380375) (5.46226662382949,0.681549227991634) (5.493840419342955,0.7043105256526719) (5.52541421485642,0.7263697512646394) (5.556988010369885,0.7477049157117087) (5.588561805883351,0.7682947516379706) (5.620135601396816,0.7881187346471925) (5.651709396910281,0.8071571037619851) (5.683283192423747,0.8253908811219762) (5.714856987937211,0.8428018909013504) (5.746430783450677,0.8593727774269119) (5.7780045789641425,0.8750870224785938) (5.809578374477607,0.8899289617551801) (5.841152169991073,0.9038838004888236) (5.872725965504538,0.9169376281927886) (5.904299761018003,0.9290774325277305) (5.935873556531469,0.9402911122726756) (5.967447352044934,0.9505674893877828) (5.999021147558399,0.959896320156857) (6.030594943071864,0.9682683053985071) (6.06216873858533,0.9756750997357736) (6.093742534098795,0.9821093199149804) (6.12531632961226,0.9875645521655236) (6.1568901251257255,0.9920353585932579) (6.18846392063919,0.9955172826011058) (6.220037716152656,0.9980068533314933) (6.2516115116661215,0.9995015891261738) (6.283185307179586,1.0)}; + + \end{groupplot} + \end{tikzpicture} + +(b) + +
+ +Figure 2 + +
+ +**Note:** Only horizontal layouts (1×n) are currently supported with the +tikzfigure backend. Vertical/grid layouts will raise +`NotImplementedError`. See the tutorials for more examples. + +### Terminal Backend with plotext The `plotext` backend is designed for terminal-first workflows. It currently supports line plots, scatter plots, bars, filled regions, -error bars, reference lines, text/annotations, labels/titles, log -axes, layers, matrix-style `imshow()` rendering, common patches, and +error bars, reference lines, text/annotations, labels/titles, log axes, +layers, matrix-style `imshow()` rendering, common patches, and multi-subplot canvases. ``` python @@ -75,17 +206,35 @@ ax.set_legend(True) canvas.show(backend="plotext") ``` -## Examples - -Runnable example scripts live in `examples/`: - -``` bash -python examples/plotly_backend_basic.py -python examples/plotly_backend_parity.py -``` + Terminal plot + ┌──────────────────────────────────────────────────────────────────────────┐ + 3.16┤ ▞▞ sqrt(x) ▄▞│ + │ │▗▄▞▀ │ + │ ▄┼▘ │ + 2.79┤ ▄▀▀ │ + │ ┼▀▀ │ + 2.42┤ ▗▞▀▀│ │ + │ ▗▞▀▀▘ │ + │ ▗▄┼▄▀▘ │ + 2.04┤ ▗▄▀▘ │ │ + │ ▗▄▞▀▘ │ + │ │ ▄▄▀▀▘ │ + 1.67┤ ▗▄▄┼▀▀ │ + │ ▗▄▄▞▀▀▘ │ + 1.30┤ ▄▄▄▄▀▀▀▘ │ + │ ▄▄▞▀▀ │ + │┼ ▗▄▄▞▀▀▀▀▀ │ + 0.93┤│▀▀▘ │ + └┬─────────────────┬──────────────────┬─────────────────┬─────────────────┬┘ + 1.0 1.8 3.2 5.6 10.0 + y x + + ### Layers +
+ ``` python x = np.linspace(0, 2 * np.pi, 200) @@ -106,13 +255,20 @@ ax.set_xlabel("x") ax.set_legend(True) ``` +Figure 3 + +
+ Show layer 0 only, then layers 0 and 1, then everything: ``` python canvas.show(layers=[0]) ``` -![](README_files/figure-markdown_strict/cell-6-output-1.png) +![](README_files/figure-commonmark/cell-11-output-1.png) + + (
, + array([[]], dtype=object)) Show all layers: @@ -120,4 +276,7 @@ Show all layers: canvas.show() ``` -![](README_files/figure-markdown_strict/cell-7-output-1.png) +![](README_files/figure-commonmark/cell-12-output-1.png) + + (
, + array([[]], dtype=object)) diff --git a/README.qmd b/README.qmd index 320ef78..a5030b8 100644 --- a/README.qmd +++ b/README.qmd @@ -42,6 +42,38 @@ Plot the figure with the default (matplotlib) backend: canvas.show() ``` +For Matplotlib-specific customization, pass method calls declaratively. Figure +methods run once and axes methods run for every subplot, providing access to +any Matplotlib API without requiring a maxplotlib wrapper: + +```{python} +#| output: false +canvas.plot(matplotlib_customizations={ + "figure": { + "suptitle": "My figure", + }, + "axes": { + "tick_params": { + "axis": "both", + "which": "major", + "length": 6, + }, + }, +}) +``` + +For dynamic customization, the same option also accepts a function: + +```{python} +#| output: false +def customize(fig, axes): + fig.suptitle("My figure") + for ax in axes.flat: + ax.tick_params(axis="both", which="major", length=6) + +canvas.plot(matplotlib_customizations=customize) +``` + Render the same line graph directly in the terminal with the `plotext` backend: ```{python} diff --git a/README_files/figure-commonmark/cell-10-output-1.png b/README_files/figure-commonmark/cell-10-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ed52daeb3507c219c75131059ac09dace25c90cc GIT binary patch literal 19238 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 Dl{qX> literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/cell-11-output-1.png b/README_files/figure-commonmark/cell-11-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ed52daeb3507c219c75131059ac09dace25c90cc GIT binary patch literal 19238 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 Dl{qX> literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/cell-12-output-1.png b/README_files/figure-commonmark/cell-12-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2c1df4cf12676ea3be244e59f6c97ea693ec0e96 GIT binary patch literal 36114 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
-
- -
- - -(a) - -
- -
- -
- - \begin{tikzpicture} - \begin{groupplot}[group style={group size=2 by 1, horizontal sep=1.5cm}] - \nextgroupplot[grid=none, width=4.25cm, height=3cm, title=sin(x)] - \addplot[color=royalblue, line width=1.0] coordinates {(0.0,0.0) (0.03157379551346526,0.03156854976481053) (0.06314759102693052,0.06310563131267365) (0.09472138654039577,0.09457980779484494) (0.12629518205386103,0.12595970506771756) (0.1578689775673263,0.15721404296725078) (0.18944277308079155,0.18831166648971787) (0.2210165685942568,0.21922157684769134) (0.25259036410772207,0.24991296237030836) (0.28416415962118735,0.28035522921701445) (0.3157379551346526,0.3105180318741688) (0.3473117506481178,0.3403713034041128) (0.3788855461615831,0.3698852854165468) (0.4104593416750484,0.399030557732341) (0.4420331371885136,0.4277780677102096) (0.47360693270197884,0.45609915920701594) (0.5051807282154441,0.48396560114283876) (0.5367545237289094,0.5113496156423267) (0.5683283192423747,0.5382239057242886) (0.5999021147558399,0.5645616825119181) (0.6314759102693052,0.5903366919365284) (0.6630497057827704,0.6155232409081792) (0.6946235012962356,0.6400962229271071) (0.7261972968097009,0.6640311431104312) (0.7577710923231662,0.6873041426091843) (0.7893448878366315,0.7098920223913329) (0.8209186833500968,0.7317722663670768) (0.8524924788635619,0.752923063833377) (0.8840662743770272,0.773323331215339) (0.9156400698904925,0.7929527330827786) (0.9472138654039577,0.8117917024210207) (0.978787660917423,0.8298214601357258) (1.0103614564308883,0.8470240337722988) (1.0419352519443534,0.8633822754312233) (1.0735090474578188,0.8788798788614604) (1.105082842971284,0.8935013957148741) (1.1366566384847494,0.9072322509454814) (1.1682304339982146,0.9200587573381745) (1.1998042295116798,0.9319681291524348) (1.2313780250251452,0.942948494867437) (1.2629518205386103,0.9529889090158392) (1.2945256160520755,0.9620793630944628) (1.326099411565541,0.9702107955409863) (1.357673207079006,0.9773751007667072) (1.3892470025924712,0.9835651372363698) (1.4208207981059366,0.9887747345870026) (1.4523945936194018,0.9929986997786696) (1.4839683891328672,0.9962328222710067) (1.5155421846463324,0.9984738782203788) (1.5471159801597976,0.9997196336934779) (1.578689775673263,0.9999688468941563) (1.6102635711867281,0.9992212694012756) (1.6418373667001935,0.9974776464163387) (1.6734111622136587,0.9947397160206569) (1.7049849577271239,0.9910102074427921) (1.7365587532405893,0.9862928383380027) (1.7681325487540545,0.9805923110824041) (1.7997063442675196,0.9739143080855378) (1.831280139780985,0.9662654861260218) (1.8628539352944502,0.9576534697159296) (1.8944277308079154,0.9480868435005095) (1.9260015263213808,0.9375751437008251) (1.957575321834846,0.9261288486078413) (1.9891491173483113,0.9137593681374367) (2.0207229128617765,0.9004790324567516) (2.0522967083752417,0.8863010796932087) (2.083870503888707,0.8712396427384597) (2.1154442994021725,0.8553097351604118) (2.1470180949156377,0.8385272362373773) (2.178591890429103,0.8209088751292626) (2.210165685942568,0.802472214201578) (2.241739481456033,0.7832356315188905) (2.273313276969499,0.7632183025251684) (2.304887072482964,0.7424401809292831) (2.336460867996429,0.7209219788147164) (2.3680346635098943,0.6986851459933066) (2.3996084590233595,0.6757518486236088) (2.4311822545368247,0.6521449471151868) (2.4627560500502903,0.6278879733408583) (2.4943298455637555,0.6030051071796145) (2.5259036410772207,0.5775211524135886) (2.557477436590686,0.5514615120031076) (2.589051232104151,0.5248521627644684) (2.6206250276176166,0.497719629475683) (2.652198823131082,0.47009095843600296) (2.683772618644547,0.44199369050557913) (2.715346414158012,0.4134558336521342) (2.7469202096714773,0.384505835032011) (2.7784940051849425,0.3551725526334286) (2.810067800698408,0.3254852265102116) (2.8416415962118733,0.29547344963467004) (2.8732153917253385,0.2651671383986787) (2.9047891872388036,0.23459650279236888) (2.936362982752269,0.20379201629015234) (2.9679367782657344,0.17278438547409944) (2.9995105737791996,0.14160451942495159) (3.031084369292665,0.11028349891127508) (3.06265816480613,0.0788525454074766) (3.094231960319595,0.047342989971558204) (3.1258057558330608,0.01578624201363682) (3.157379551346526,-0.015786242013637018) (3.188953346859991,-0.04734298997155796) (3.2205271423734563,-0.07885254540747635) (3.2521009378869215,-0.11028349891127483) (3.283674733400387,-0.14160451942495178) (3.3152485289138522,-0.17278438547409963) (3.3468223244273174,-0.20379201629015212) (3.3783961199407826,-0.23459650279236863) (3.4099699154542478,-0.2651671383986785) (3.441543710967713,-0.2954734496346698) (3.4731175064811786,-0.32548522651021183) (3.5046913019946437,-0.3551725526334284) (3.536265097508109,-0.38450583503201075) (3.567838893021574,-0.41345583365213395) (3.5994126885350393,-0.4419936905055789) (3.630986484048505,-0.4700909584360031) (3.66256027956197,-0.49771962947568316) (3.6941340750754352,-0.5248521627644683) (3.7257078705889004,-0.5514615120031073) (3.7572816661023656,-0.5775211524135885) (3.7888554616158308,-0.6030051071796143) (3.8204292571292964,-0.6278879733408584) (3.8520030526427615,-0.6521449471151866) (3.8835768481562267,-0.6757518486236087) (3.915150643669692,-0.6986851459933063) (3.946724439183157,-0.7209219788147162) (3.9782982346966227,-0.7424401809292832) (4.009872030210087,-0.7632183025251682) (4.041445825723553,-0.7832356315188903) (4.073019621237019,-0.8024722142015781) (4.104593416750483,-0.8209088751292625) (4.136167212263949,-0.8385272362373775) (4.167741007777414,-0.8553097351604116) (4.199314803290879,-0.8712396427384596) (4.230888598804345,-0.8863010796932088) (4.26246239431781,-0.9004790324567515) (4.294036189831275,-0.9137593681374367) (4.32560998534474,-0.9261288486078411) (4.357183780858206,-0.9375751437008251) (4.388757576371671,-0.9480868435005096) (4.420331371885136,-0.9576534697159295) (4.451905167398602,-0.9662654861260219) (4.483478962912066,-0.9739143080855377) (4.515052758425532,-0.9805923110824041) (4.546626553938998,-0.9862928383380027) (4.578200349452462,-0.9910102074427921) (4.609774144965928,-0.994739716020657) (4.641347940479393,-0.9974776464163387) (4.672921735992858,-0.9992212694012756) (4.704495531506323,-0.9999688468941563) (4.736069327019789,-0.9997196336934779) (4.767643122533254,-0.9984738782203788) (4.799216918046719,-0.9962328222710067) (4.830790713560185,-0.9929986997786696) (4.862364509073649,-0.9887747345870026) (4.893938304587115,-0.98356513723637) (4.925512100100581,-0.9773751007667072) (4.957085895614045,-0.9702107955409863) (4.988659691127511,-0.9620793630944628) (5.020233486640976,-0.9529889090158394) (5.051807282154441,-0.942948494867437) (5.083381077667907,-0.9319681291524348) (5.114954873181372,-0.9200587573381745) (5.146528668694837,-0.9072322509454813) (5.178102464208302,-0.8935013957148743) (5.209676259721768,-0.8788798788614604) (5.241250055235233,-0.8633822754312233) (5.272823850748698,-0.847024033772299) (5.304397646262164,-0.8298214601357258) (5.335971441775628,-0.8117917024210209) (5.367545237289094,-0.7929527330827786) (5.39911903280256,-0.7733233312153388) (5.430692828316024,-0.7529230638333771) (5.46226662382949,-0.7317722663670767) (5.493840419342955,-0.7098920223913331) (5.52541421485642,-0.6873041426091843) (5.556988010369885,-0.6640311431104317) (5.588561805883351,-0.6400962229271073) (5.620135601396816,-0.615523240908179) (5.651709396910281,-0.5903366919365287) (5.683283192423747,-0.5645616825119181) (5.714856987937211,-0.538223905724289) (5.746430783450677,-0.5113496156423268) (5.7780045789641425,-0.4839656011428386) (5.809578374477607,-0.45609915920701627) (5.841152169991073,-0.4277780677102096) (5.872725965504538,-0.3990305577323414) (5.904299761018003,-0.36988528541654697) (5.935873556531469,-0.34037130340411265) (5.967447352044934,-0.3105180318741691) (5.999021147558399,-0.28035522921701433) (6.030594943071864,-0.2499129623703088) (6.06216873858533,-0.21922157684769145) (6.093742534098795,-0.18831166648971762) (6.12531632961226,-0.15721404296725106) (6.1568901251257255,-0.12595970506771748) (6.18846392063919,-0.09457980779484539) (6.220037716152656,-0.06310563131267372) (6.2516115116661215,-0.031568549764810244) (6.283185307179586,-2.4492935982947064e-16)}; - - \nextgroupplot[grid=none, width=4.25cm, height=3cm, title=cos(x)] - \addplot[color=tomato, line width=1.0] coordinates {(0.0,1.0) (0.03157379551346526,0.9995015891261738) (0.06314759102693052,0.9980068533314934) (0.09472138654039577,0.995517282601106) (0.12629518205386103,0.9920353585932578) (0.1578689775673263,0.9875645521655237) (0.18944277308079155,0.9821093199149804) (0.2210165685942568,0.9756750997357736) (0.25259036410772207,0.9682683053985072) (0.28416415962118735,0.959896320156857) (0.3157379551346526,0.9505674893877829) (0.3473117506481178,0.9402911122726756) (0.3788855461615831,0.9290774325277306) (0.4104593416750484,0.9169376281927888) (0.4420331371885136,0.9038838004888236) (0.47360693270197884,0.8899289617551803) (0.5051807282154441,0.8750870224785937) (0.5367545237289094,0.859372777426912) (0.5683283192423747,0.8428018909013506) (0.5999021147558399,0.8253908811219762) (0.6314759102693052,0.8071571037619854) (0.6630497057827704,0.7881187346471924) (0.6946235012962356,0.7682947516379708) (0.7261972968097009,0.7477049157117092) (0.7577710923231662,0.7263697512646394) (0.7893448878366315,0.7043105256526722) (0.8209186833500968,0.6815492279916338) (0.8524924788635619,0.6581085472380377) (0.8840662743770272,0.6340118495722387) (0.9156400698904925,0.6092831551065166) (0.9472138654039577,0.5839471139413063) (0.978787660917423,0.5580289815934402) (1.0103614564308883,0.5315545938209014) (1.0419352519443534,0.5045503408691775) (1.0735090474578188,0.47704314116488955) (1.105082842971284,0.44906041448292017) (1.1366566384847494,0.42063005461378417) (1.1682304339982146,0.39178040155849314) (1.1998042295116798,0.3625402132786245) (1.2313780250251452,0.33293863702976106) (1.2629518205386103,0.30300518030687273) (1.2945256160520755,0.2727696814306032) (1.326099411565541,0.24226227980378318) (1.357673207079006,0.21151338586781906) (1.3892470025924712,0.18055365078890231) (1.4208207981059366,0.14941393590426094) (1.4523945936194018,0.11812528195890805) (1.4839683891328672,0.08671887816355073) (1.5155421846463324,0.05522603110450817) (1.5471159801597976,0.0236781335366241) (1.578689775673263,-0.00789336690971331) (1.6102635711867281,-0.0394569990762527) (1.6418373667001935,-0.070981299648016) (1.6734111622136587,-0.10243484451661329) (1.7049849577271239,-0.13378628010447904) (1.7365587532405893,-0.1650043546187993) (1.7681325487540545,-0.196057949203978) (1.7997063442675196,-0.22691610896159004) (1.831280139780985,-0.2575480738068967) (1.8628539352944502,-0.28792330913116637) (1.8944277308079154,-0.3180115362392381) (1.9260015263213808,-0.34778276253198237) (1.957575321834846,-0.37720731140357594) (1.9891491173483113,-0.40625585182378904) (2.0207229128617765,-0.434899427575793) (2.0522967083752417,-0.4631094861203477) (2.083870503888707,-0.4908579070575935) (2.1154442994021725,-0.5181170301580775) (2.1470180949156377,-0.5448596829350705) (2.178591890429103,-0.5710592077306947) (2.210165685942568,-0.5966894882888559) (2.241739481456033,-0.6217249757884951) (2.273313276969499,-0.6461407143112099) (2.304887072482964,-0.6699123657178553) (2.336460867996429,-0.6930162339093318) (2.3680346635098943,-0.7154292884473712) (2.3996084590233595,-0.7371291875117789) (2.4311822545368247,-0.7580943001712453) (2.4627560500502903,-0.77830372794553) (2.4943298455637555,-0.7977373256375193) (2.5259036410772207,-0.8163757214143991) (2.557477436590686,-0.8342003361179174) (2.589051232104151,-0.8511934017844945) (2.6206250276176166,-0.8673379793567147) (2.652198823131082,-0.8826179755685469) (2.683772618644547,-0.8970181589874635) (2.715346414158012,-0.9105241751974622) (2.7469202096714773,-0.9231225611078606) (2.7784940051849425,-0.9348007583735982) (2.810067800698408,-0.9455471259136671) (2.8416415962118733,-0.9553509515151948) (2.8732153917253385,-0.9642024625116117) (2.9047891872388036,-0.972092835524257) (2.936362982752269,-0.9790142052577144) (2.9679367782657344,-0.9849596723401105) (2.9995105737791996,-0.9899233102005571) (3.031084369292665,-0.9939001709768878) (3.06265816480613,-0.9968862904477932) (3.094231960319595,-0.9988786919844436) (3.1258057558330608,-0.9998753895176573) (3.157379551346526,-0.9998753895176573) (3.188953346859991,-0.9988786919844436) (3.2205271423734563,-0.9968862904477932) (3.2521009378869215,-0.9939001709768879) (3.283674733400387,-0.9899233102005571) (3.3152485289138522,-0.9849596723401105) (3.3468223244273174,-0.9790142052577145) (3.3783961199407826,-0.972092835524257) (3.4099699154542478,-0.9642024625116118) (3.441543710967713,-0.9553509515151949) (3.4731175064811786,-0.9455471259136671) (3.5046913019946437,-0.9348007583735983) (3.536265097508109,-0.9231225611078607) (3.567838893021574,-0.9105241751974622) (3.5994126885350393,-0.8970181589874636) (3.630986484048505,-0.8826179755685468) (3.66256027956197,-0.8673379793567146) (3.6941340750754352,-0.8511934017844947) (3.7257078705889004,-0.8342003361179176) (3.7572816661023656,-0.8163757214143992) (3.7888554616158308,-0.7977373256375195) (3.8204292571292964,-0.7783037279455299) (3.8520030526427615,-0.7580943001712456) (3.8835768481562267,-0.737129187511779) (3.915150643669692,-0.7154292884473714) (3.946724439183157,-0.693016233909332) (3.9782982346966227,-0.6699123657178551) (4.009872030210087,-0.6461407143112101) (4.041445825723553,-0.6217249757884953) (4.073019621237019,-0.5966894882888557) (4.104593416750483,-0.571059207730695) (4.136167212263949,-0.5448596829350704) (4.167741007777414,-0.5181170301580778) (4.199314803290879,-0.49085790705759375) (4.230888598804345,-0.4631094861203475) (4.26246239431781,-0.4348994275757932) (4.294036189831275,-0.40625585182378887) (4.32560998534474,-0.37720731140357633) (4.357183780858206,-0.3477827625319824) (4.388757576371671,-0.3180115362392379) (4.420331371885136,-0.28792330913116665) (4.451905167398602,-0.2575480738068965) (4.483478962912066,-0.22691610896159048) (4.515052758425532,-0.19605794920397804) (4.546626553938998,-0.1650043546187989) (4.578200349452462,-0.13378628010447927) (4.609774144965928,-0.1024348445166131) (4.641347940479393,-0.07098129964801624) (4.672921735992858,-0.03945699907625272) (4.704495531506323,-0.007893366909713777) (4.736069327019789,0.023678133536623857) (4.767643122533254,0.05522603110450836) (4.799216918046719,0.08671887816355048) (4.830790713560185,0.11812528195890803) (4.862364509073649,0.14941393590426047) (4.893938304587115,0.1805536507889021) (4.925512100100581,0.21151338586781926) (4.957085895614045,0.24226227980378293) (4.988659691127511,0.27276968143060315) (5.020233486640976,0.3030051803068723) (5.051807282154441,0.332938637029761) (5.083381077667907,0.36254021327862473) (5.114954873181372,0.3917804015584929) (5.146528668694837,0.42063005461378433) (5.178102464208302,0.4490604144829198) (5.209676259721768,0.47704314116488955) (5.241250055235233,0.5045503408691777) (5.272823850748698,0.5315545938209012) (5.304397646262164,0.5580289815934403) (5.335971441775628,0.5839471139413059) (5.367545237289094,0.6092831551065166) (5.39911903280256,0.6340118495722389) (5.430692828316024,0.6581085472380375) (5.46226662382949,0.681549227991634) (5.493840419342955,0.7043105256526719) (5.52541421485642,0.7263697512646394) (5.556988010369885,0.7477049157117087) (5.588561805883351,0.7682947516379706) (5.620135601396816,0.7881187346471925) (5.651709396910281,0.8071571037619851) (5.683283192423747,0.8253908811219762) (5.714856987937211,0.8428018909013504) (5.746430783450677,0.8593727774269119) (5.7780045789641425,0.8750870224785938) (5.809578374477607,0.8899289617551801) (5.841152169991073,0.9038838004888236) (5.872725965504538,0.9169376281927886) (5.904299761018003,0.9290774325277305) (5.935873556531469,0.9402911122726756) (5.967447352044934,0.9505674893877828) (5.999021147558399,0.959896320156857) (6.030594943071864,0.9682683053985071) (6.06216873858533,0.9756750997357736) (6.093742534098795,0.9821093199149804) (6.12531632961226,0.9875645521655236) (6.1568901251257255,0.9920353585932579) (6.18846392063919,0.9955172826011058) (6.220037716152656,0.9980068533314933) (6.2516115116661215,0.9995015891261738) (6.283185307179586,1.0)}; - - \end{groupplot} - \end{tikzpicture} - -(b) - -
+id="fig-showcase-subplots" /> Figure 2 @@ -229,7 +194,7 @@ canvas.show(backend="plotext") 1.0 1.8 3.2 5.6 10.0 y x - + ### Layers diff --git a/README_files/figure-commonmark/cell-11-output-1.png b/README_files/figure-commonmark/cell-11-output-1.png index ed52daeb3507c219c75131059ac09dace25c90cc..4b0e0635dd27f95ed92bcb312406861b20f3f8c2 100644 GIT binary patch literal 19218 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 Dl{qX> diff --git a/README_files/figure-commonmark/cell-12-output-1.png b/README_files/figure-commonmark/cell-12-output-1.png index 2c1df4cf12676ea3be244e59f6c97ea693ec0e96..b312b29af41335032d59344887ecb41a52dac457 100644 GIT binary patch delta 33606 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Ɂ$zWw$3`RLbu8c45pkY;RI~qK=Cx~`TVl0$S(To z_O?JRM~qRg+9c%i$s25R`R`8<7+h0@fib8PFhV>-B@7DGTwEH#7{g3=($KsgPrMiq zJ41}fdjouLc1o!61Z}5EF%C7Zt^ig_?PmKA)PCkJ1cN#kNTmVs$jAusVu_yUH=9ZN zR0JS%N&?l+WCVbal)zy-cqS?!AaJZ0lBp<*JyWa#G*Z~FM@!J1LvLg^RSE|#L#ozQ z38=9lrm!bEU4?=$GeMsVR`5D7P`IfO^XuS!5~hTSprt*D`&px0o0y_(Wl?%SiA}{_ zSMWYrM|}XPHgO$VZQkwxJHgrPdUErhtSf-Z8kEfu&=4M+5=UXrSe7XA{E0*GGTQtB zjO0IA=rRuH>d`^r2)+@4Vo#N3QFy$L|#o(5V{Izpnlvg4yM^qz0>D7V@9>d4e>cS-?|N=8mD zyl{_2xAL>aB*;ALo&x^t2G76Et_(oq3^VNxSphcbCfBX#-zaXCV-H*~buLmCDB7St zRgKHWIMUl&*T`!rd^0?(J0M$)6)NDSlAaaHCux93oRA^}WV$`)h!BzxC;;$exUQ?! zP%4+8`)(rRe#r}}q}l{4Q}BkZg7$Lg(mEX_H4V*A76%6HIKVmRiu{f*31bc}4Nr`` z2Fh*sZ&Pzws@VBxc}2xR=$W75tEmSv^X#z%ybUJMwtxw8djgxKEXzPmFW$y};+pJj z@B_c)6O{+3W0_X&7uSAiUQ^aaV7&TS@Ajw0@_lUukk?a8vxQ4+0OQX25p>b2Z=gud zF{izxpkOyrppE8I>u*yMupZRPi@>&FOnr@)Qxd^TM?9GTEiA*q!wUu?!|Ia&97ipS z(Iy-o+Un2)SV_}C&*Boy*yHR!L0^PXCh*QupIUAcF=Q<^8d^OLvpwnJczf@1iQEe0 zqGYs(z%!&GcKWEIZX8P~;`vMqrZ}ary;l$;Hkdo*eY7ljOpF#-x|NoZzW=MRs3=TV zD@BwMs$03hB6?!0YzmHh^IvRBt%3YJ(5)1Pv-zc_efowZ(kqD}K5yd5md{(duaPIC zq}al1$w&#yCaYy0FCKhFT|4n!E3iD<`j#hyM8J_%Oxl$5TtsWsGC$t^M6N<~M4v7@ znMn(|SQ)$?CN?%q7=MOZPizs49HxkP?4e&65nWc|O0hSJTQh&E8sU4_FdMgv%r!XJ zRl8f9P%vwkkYaC?4uL2tgVZ`I)9UXYhv{c|d5XyK=%YjLB-ogzEPvVeXJD@@cwYQV zEB)j}jOL|IToo0iQtU-mEF&Qiz&K6MJ!z3&E?LhW^Ud4{9uv)~D;QM}xMth0R)GOh zQ6VHuI4?euSdm~&1nD%ej=DcX3Yk^ABR2i3Q2s|#ts(?Ee67Xkh=>SA-FuK-0s97C zY|_eDu5Q;)kSK-b)M#;3I$$|4C~#92Qr6$mNy7mi2g0roQ%!M-Hv`r&pFjTqkj<-2 ztqr{@qc)Q>qPK@R;~bP3uO*x;A`^Cd&YUzj zRxt>=dY`ZdPWr%{9Lmj+tO!8HKC$5%8XEE{Dze~;aJp@)^V{FCKWvt_`UW$^ zRQYpf5DK9=;9k2-n81nKOr>E2xai&Ba*S0Zm_(>StFXE`g@E7(el{F@pG?6=xykdG z8i?khbV|u4fJ+ZCVhb^KdA9Wh>;Smcuemo$zUX~}e@e&%nyY$=DtS|L^9uO+d^1oA zy%r?O0!q~}o-{RW35(JfU|-UGb-Z@G`V$@KW delta 33610 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 diff --git a/README_files/figure-commonmark/cell-3-output-1.png b/README_files/figure-commonmark/cell-3-output-1.png index 7b43e831927e8943536b327cac5b63aa6c57406c..a47f4747adbf6b1e2503021ed185a02ada720142 100644 GIT binary patch literal 36934 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 literal 37127 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 int: + repository_root = Path(__file__).resolve().parent.parent + quarto = shutil.which("quarto") + if quarto is None: + raise SystemExit( + "Quarto is required to generate README.md. " + "Install it from https://quarto.org/docs/get-started/" + ) + + subprocess.run( + [quarto, "render", "README.qmd", "--output", "README.md"], + cwd=repository_root, + check=True, + ) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/src/maxplotlib/canvas/canvas.py b/src/maxplotlib/canvas/canvas.py index 7264a90..3d9ef93 100644 --- a/src/maxplotlib/canvas/canvas.py +++ b/src/maxplotlib/canvas/canvas.py @@ -42,19 +42,28 @@ def _parse_bool_env_var(name: str, default: bool = False) -> bool: def _display_matplotlib_figure_in_notebook(fig) -> bool: """Display a Matplotlib figure through IPython when running in Jupyter.""" try: - from IPython import get_ipython from IPython.display import display except ImportError: return False - shell = get_ipython() - if shell is None or "IPKernelApp" not in getattr(shell, "config", {}): + if not _running_in_jupyter(): return False display(fig) return True +def _running_in_jupyter() -> bool: + """Return whether the current process is running in a Jupyter kernel.""" + try: + from IPython import get_ipython + except ImportError: + return False + + shell = get_ipython() + return shell is not None and "IPKernelApp" in getattr(shell, "config", {}) + + def _apply_matplotlib_customizations(fig, axes, customizations) -> None: """Apply declarative method calls to a Matplotlib figure and its axes.""" if callable(customizations): @@ -1102,7 +1111,10 @@ def show( fig = self.plot_tikzfigure(savefig=False, verbose=verbose) # TikzFigure handles all rendering (single or multi-subplot) fig.show(transparent=False) - return fig + # TikzFigure.__repr__ returns the generated TikZ source. Returning + # it from a notebook cell would therefore print the source after + # TikzFigure has already displayed the rendered image. + return None if _running_in_jupyter() else fig else: raise ValueError("Invalid backend") diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index 37c4798..79e9e87 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -549,6 +549,27 @@ def fake_show(self, *args, **kwargs): assert calls == [((), {"backend": "tikzfigure", "verbose": True})] +def test_tikzfigure_show_does_not_return_repr_in_jupyter(monkeypatch): + import sys + import types + + from maxplotlib import Canvas + + ipython = types.ModuleType("IPython") + ipython.get_ipython = lambda: types.SimpleNamespace(config={"IPKernelApp": {}}) + monkeypatch.setitem(sys.modules, "IPython", ipython) + + class FakeTikzFigure: + def show(self, **kwargs): + self.show_kwargs = kwargs + + figure = FakeTikzFigure() + monkeypatch.setattr(Canvas, "plot_tikzfigure", lambda *args, **kwargs: figure) + + assert Canvas().show(backend="tikzfigure") is None + assert figure.show_kwargs == {"transparent": False} + + def test_canvas_plot_uses_screen_dpi_when_not_saving(): import matplotlib.pyplot as plt import pytest From f835117b7350847ad7e05d8a5dc6820af809e416 Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 21 Aug 2026 23:17:35 +0200 Subject: [PATCH 05/14] adde set_xlabel, set_ylabel, set_title, tick_params --- README.md | 62 +++++++++++------- README.qmd | 19 ++++++ .../figure-commonmark/cell-12-output-1.png | Bin 36104 -> 19218 bytes .../figure-commonmark/cell-13-output-1.png | Bin 0 -> 36104 bytes .../figure-commonmark/cell-8-output-1.png | Bin 0 -> 39596 bytes src/maxplotlib/canvas/canvas.py | 42 +++++++++--- src/maxplotlib/subfigure/line_plot.py | 31 ++++++--- src/maxplotlib/tests/test_canvas.py | 24 +++++++ 8 files changed, 138 insertions(+), 40 deletions(-) create mode 100644 README_files/figure-commonmark/cell-13-output-1.png create mode 100644 README_files/figure-commonmark/cell-8-output-1.png diff --git a/README.md b/README.md index 4480d3b..938fab5 100644 --- a/README.md +++ b/README.md @@ -76,6 +76,24 @@ def customize(fig, axes): canvas.plot(matplotlib_customizations=customize) ``` +### Axis Label and Tick Styling + +Axis labels, titles, and tick appearance accept Matplotlib-style keyword +arguments: + +``` python +canvas.set_xlabel("Time", fontsize=12, fontweight="bold", labelpad=10) +canvas.set_ylabel("Duration", color="darkblue") +canvas.set_title("Runtime", fontsize=14, color="navy") +canvas.tick_params( + axis="both", + which="major", + labelsize=10, + colors="darkgreen", + length=6, +) +``` + Render the same line graph directly in the terminal with the `plotext` backend: @@ -84,28 +102,28 @@ terminal_fig = canvas.plot(backend="plotext") print(terminal_fig.build(keep_colors=False)) ``` + Runtime ┌─────────────────────────────────────────────────────────────────────────┐ - 1.00┤ ▗▄▟▀▀▀▀▀▙▄ │ - │ ▄▞▘ ▀▚▖ │ - │ ▄▛ ▝▚▖ │ - 0.67┤ ▗▞ ▝▚▖ │ - │ ▄▀ ▀▖ │ - │ ▗▞▘ ▝▚ │ - 0.33┤ ▗▀ ▀▖ │ - │ ▞▘ ▀▖ │ - │▗▞▘ ▝▚ │ + 1.00┤ ▗▄▞▀▀▀▀▀▙▄▖ │ + │ ▗▄▀▘ ▝▀▄ │ + │ ▗▞▘ ▀▄ │ + 0.67┤ ▟▀ ▀▄ │ + │ ▄▛ ▚▖ │ + 0.33┤ ▗▞ ▝▄ │ + │ ▄▀ ▚▖ │ + │▗▞▘ ▀▄ │ 0.00┤▀ ▝▚▖ ▞│ - │ ▚▖ ▗▞▘│ - │ ▝▄ ▗▞ │ - -0.33┤ ▝▄ ▄▘ │ - │ ▚▖ ▗▞▘ │ - │ ▝▄ ▄▀ │ - -0.67┤ ▝▚▖ ▞▘ │ - │ ▝▚▖ ▟▀ │ - │ ▝▚▄ ▗▞▀ │ - -1.00┤ ▀▜▄▄▄▄▄▛▀▘ │ + │ ▀▄ ▗▞▘│ + │ ▝▚ ▄▀ │ + -0.33┤ ▀▖ ▞▘ │ + │ ▝▚ ▟▀ │ + -0.67┤ ▀▄ ▄▛ │ + │ ▀▄ ▗▞▘ │ + │ ▀▄▖ ▗▄▀▘ │ + -1.00┤ ▝▀▜▄▄▄▄▄▞▀▘ │ └┬─────────────────┬─────────────────┬─────────────────┬─────────────────┬┘ 0.0 1.6 3.1 4.7 6.3 + Duration Time Or plot with the TikZ backend: @@ -113,7 +131,7 @@ Or plot with the TikZ backend: canvas.show(backend="tikzfigure") ``` -![](README_files/figure-commonmark/cell-7-output-1.png) +![](README_files/figure-commonmark/cell-8-output-1.png) ### Horizontal Subplots with TikZ Backend @@ -194,7 +212,7 @@ canvas.show(backend="plotext") 1.0 1.8 3.2 5.6 10.0 y x - + ### Layers @@ -230,7 +248,7 @@ Show layer 0 only, then layers 0 and 1, then everything: canvas.show(layers=[0]) ``` -![](README_files/figure-commonmark/cell-11-output-1.png) +![](README_files/figure-commonmark/cell-12-output-1.png) (
, array([[]], dtype=object)) @@ -241,7 +259,7 @@ Show all layers: canvas.show() ``` -![](README_files/figure-commonmark/cell-12-output-1.png) +![](README_files/figure-commonmark/cell-13-output-1.png) (
, array([[]], dtype=object)) diff --git a/README.qmd b/README.qmd index a5030b8..e2fb817 100644 --- a/README.qmd +++ b/README.qmd @@ -74,6 +74,25 @@ def customize(fig, axes): canvas.plot(matplotlib_customizations=customize) ``` +### Axis Label and Tick Styling + +Axis labels, titles, and tick appearance accept Matplotlib-style keyword +arguments: + +```{python} +#| output: false +canvas.set_xlabel("Time", fontsize=12, fontweight="bold", labelpad=10) +canvas.set_ylabel("Duration", color="darkblue") +canvas.set_title("Runtime", fontsize=14, color="navy") +canvas.tick_params( + axis="both", + which="major", + labelsize=10, + colors="darkgreen", + length=6, +) +``` + Render the same line graph directly in the terminal with the `plotext` backend: ```{python} diff --git a/README_files/figure-commonmark/cell-12-output-1.png b/README_files/figure-commonmark/cell-12-output-1.png index b312b29af41335032d59344887ecb41a52dac457..4b0e0635dd27f95ed92bcb312406861b20f3f8c2 100644 GIT binary patch literal 19218 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 UcW0Zq6ax@=y85}Sb4q9e0MwFG>Hq)$ diff --git a/README_files/figure-commonmark/cell-13-output-1.png b/README_files/figure-commonmark/cell-13-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..b312b29af41335032d59344887ecb41a52dac457 GIT binary patch literal 36104 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 UcW0Zq6ax@=y85}Sb4q9e0MwFG>Hq)$ literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/cell-8-output-1.png b/README_files/figure-commonmark/cell-8-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..aad94a7195c85d70375f5349ed2c9eadd44d1419 GIT binary patch literal 39596 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 0: ax.legend() if self._grid: @@ -674,6 +685,8 @@ def plot_matplotlib( labels=self._yticklabels, **self._ytick_kwargs, ) + if self._tick_params: + ax.tick_params(**self._tick_params) if self._aspect is not None: ax.set_aspect(self._aspect) diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index 79e9e87..4e8a06c 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -448,6 +448,30 @@ def test_canvas_tick_label_rotation_is_forwarded_to_matplotlib(): plt.close(fig) +def test_axis_label_and_tick_settings_are_forwarded_to_matplotlib(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.plot([0, 1], [0, 1]) + canvas.set_xlabel("Time", fontsize=14, fontweight="bold", labelpad=12) + canvas.set_ylabel("Value", color="crimson") + canvas.set_title("Results", fontsize=16, color="navy") + canvas.tick_params(axis="both", labelsize=12, colors="darkgreen", length=7) + + fig, axes = canvas.plot() + matplotlib_axis = axes[0][0] + assert matplotlib_axis.xaxis.label.get_fontsize() == 14 + assert matplotlib_axis.xaxis.label.get_fontweight() == "bold" + assert matplotlib_axis.xaxis.labelpad == 12 + assert matplotlib_axis.yaxis.label.get_color() == "crimson" + assert matplotlib_axis.title.get_fontsize() == 16 + assert matplotlib_axis.xaxis.majorTicks[0].tick1line.get_markersize() == 7 + assert matplotlib_axis.xaxis.get_ticklabels()[0].get_fontsize() == 12 + plt.close(fig) + + def test_matplotlib_postprocess_can_customize_figure_and_axes(): from matplotlib.colors import to_rgba import matplotlib.pyplot as plt From 4786cee966cdee099b0c65e93ab73f334dc1b3be Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 22 Aug 2026 00:16:12 +0200 Subject: [PATCH 06/14] Added more wrapped plt functions --- README.md | 43 +- README.qmd | 35 ++ .../figure-commonmark/cell-10-output-1.png | Bin 19238 -> 39596 bytes .../figure-commonmark/cell-13-output-1.png | Bin 36104 -> 19238 bytes .../figure-commonmark/cell-14-output-1.png | Bin 0 -> 19238 bytes .../figure-commonmark/cell-15-output-1.png | Bin 0 -> 36114 bytes .../figure-commonmark/cell-3-output-1.png | Bin 36934 -> 37127 bytes .../figure-commonmark/cell-9-output-1.png | Bin 0 -> 39596 bytes docs/source/index.rst | 1 + src/maxplotlib/canvas/canvas.py | 314 ++++++++++- src/maxplotlib/subfigure/line_plot.py | 523 ++++++++++++++++++ src/maxplotlib/tests/test_canvas.py | 111 ++++ src/maxplotlib/tests/test_plotly_backend.py | 65 +++ .../tutorial_13_advanced_matplotlib.ipynb | 221 ++++++++ tutorials/tutorial_13_advanced_matplotlib.qmd | 113 ++++ 15 files changed, 1421 insertions(+), 5 deletions(-) create mode 100644 README_files/figure-commonmark/cell-14-output-1.png create mode 100644 README_files/figure-commonmark/cell-15-output-1.png create mode 100644 README_files/figure-commonmark/cell-9-output-1.png create mode 100644 tutorials/tutorial_13_advanced_matplotlib.ipynb create mode 100644 tutorials/tutorial_13_advanced_matplotlib.qmd diff --git a/README.md b/README.md index 938fab5..f20e065 100644 --- a/README.md +++ b/README.md @@ -94,6 +94,41 @@ canvas.tick_params( ) ``` +Common axis controls and figure-level layout settings are also +available: + +``` python +canvas.set_facecolor("whitesmoke") +canvas.set_axisbelow(True) +canvas.margins(x=0.05, y=0.1) +canvas.minorticks_on() +canvas.invert_yaxis() +canvas.supxlabel("Shared x label") +canvas.supylabel("Shared y label") +canvas.subplots_adjust(left=0.15, bottom=0.15) +canvas.tight_layout() +``` + +### Secondary Y-Axis + +Use `Canvas.twinx()` to add a second y-axis that shares the primary +x-axis: + +``` python +twin_canvas, primary = Canvas.subplots() +secondary = twin_canvas.twinx() + +primary.plot(x, np.sin(x), color="tab:blue") +secondary.plot(x, 100 * np.cos(x), color="tab:red") +primary.set_ylabel("sin(x)", color="tab:blue") +secondary.set_ylabel("100 cos(x)", color="tab:red") + +twin_canvas.show() +``` + +Secondary y-axes are currently supported by the Matplotlib and Plotly +backends. + Render the same line graph directly in the terminal with the `plotext` backend: @@ -131,7 +166,7 @@ Or plot with the TikZ backend: canvas.show(backend="tikzfigure") ``` -![](README_files/figure-commonmark/cell-8-output-1.png) +![](README_files/figure-commonmark/cell-10-output-1.png) ### Horizontal Subplots with TikZ Backend @@ -212,7 +247,7 @@ canvas.show(backend="plotext") 1.0 1.8 3.2 5.6 10.0 y x - + ### Layers @@ -248,7 +283,7 @@ Show layer 0 only, then layers 0 and 1, then everything: canvas.show(layers=[0]) ``` -![](README_files/figure-commonmark/cell-12-output-1.png) +![](README_files/figure-commonmark/cell-14-output-1.png) (
, array([[]], dtype=object)) @@ -259,7 +294,7 @@ Show all layers: canvas.show() ``` -![](README_files/figure-commonmark/cell-13-output-1.png) +![](README_files/figure-commonmark/cell-15-output-1.png) (
, array([[]], dtype=object)) diff --git a/README.qmd b/README.qmd index e2fb817..c9af9e9 100644 --- a/README.qmd +++ b/README.qmd @@ -93,6 +93,41 @@ canvas.tick_params( ) ``` +Common axis controls and figure-level layout settings are also available: + +```{python} +#| output: false +canvas.set_facecolor("whitesmoke") +canvas.set_axisbelow(True) +canvas.margins(x=0.05, y=0.1) +canvas.minorticks_on() +canvas.invert_yaxis() +canvas.supxlabel("Shared x label") +canvas.supylabel("Shared y label") +canvas.subplots_adjust(left=0.15, bottom=0.15) +canvas.tight_layout() +``` + +### Secondary Y-Axis + +Use `Canvas.twinx()` to add a second y-axis that shares the primary x-axis: + +```{python} +#| output: false +twin_canvas, primary = Canvas.subplots() +secondary = twin_canvas.twinx() + +primary.plot(x, np.sin(x), color="tab:blue") +secondary.plot(x, 100 * np.cos(x), color="tab:red") +primary.set_ylabel("sin(x)", color="tab:blue") +secondary.set_ylabel("100 cos(x)", color="tab:red") + +twin_canvas.show() +``` + +Secondary y-axes are currently supported by the Matplotlib and Plotly +backends. + Render the same line graph directly in the terminal with the `plotext` backend: ```{python} diff --git a/README_files/figure-commonmark/cell-10-output-1.png b/README_files/figure-commonmark/cell-10-output-1.png index ed52daeb3507c219c75131059ac09dace25c90cc..aad94a7195c85d70375f5349ed2c9eadd44d1419 100644 GIT binary patch literal 39596 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 Dl{qX> diff --git a/README_files/figure-commonmark/cell-13-output-1.png b/README_files/figure-commonmark/cell-13-output-1.png index b312b29af41335032d59344887ecb41a52dac457..ed52daeb3507c219c75131059ac09dace25c90cc 100644 GIT binary patch literal 19238 zcmbrmbx_r7*af;p5ou{@K{}Q04(aZc?(S9&ARyh{B`Mtq(jXnu(z)r*`)Pmv|M>)y zy^}e!8D(73Bf0B^Ah2BvTgSZ8pl$t z;-!rii>l%aeDZ!$qDBXLI=V0V4aGY+80RdiLVv&DiCwt%U`uj<)9vQ&U9u_rAvT?05KU<-g^f7pGBlEIN&3i{RQYP z8-qO?3(r#>Qi0$s~x?fx*Ykj~(Qym-{Dj)%49B^=a_pU=>nQ^%6O{kd! zB@>hUUJmR%(wdr@ZS5qi|Bv`g@XO-k)BlQrds^czkjE@J#0BDRwro+mjOibeg6M;|n$s906)ePxG)j$QR5RKUf>z3?h)a^4O* zE6Vbl|Lf)M?*3uj>0(b!yV=FE?Gd)ZEIg{`n-^Q$?eqBLZEP4Qsi{?J%zo3ne_z!L zjfsgd+A{qWjC#Hn&P=fR^a7%YnIKImpUnqrIaBfdu3?X+k&#g?D|_9^*%@mi=})L? ziE6x#rnF~}X}p25yeW>Fs#*cLj0|#h!w+&vUh7kb`aG)0dXu^Sj&4XqL3MR(b#-+& zrk9ph%G9rCh$k=K;Njt&o}W|D)0e({dKzZY9FIS{I6f}EaMMRJN_QCwZA?t;)k2k# zmTtCOCBzPAB`(-Zz|Kk){Xshy@57$Or2o6oc9yI<+D+nN#Z7=9QsEGRDiNO&{dJ2Eozw;lW^ zf`cQvXye;{tsq&Tyl$h!NlB9{lC0G)gCwVNq4Zo#mfB~s0rpsXI6HC=qP`_TA#pL1 z=wrv%5uwj<{8UaaFL4QRzFi2T%gU&!CA?B*VPWaE{$fC=udk1K>z`^`)y1y%=XW8k zjEs!+;_RFIhldY=Mj{n@%sERxk}S7NhFl)4mfV8pv~*%?0#WA{G~){3nb9#4;x!cg zet22#m_0*55c1J(=KT!kllnE=R51j1V{^}N;|MAHlZBgtQ}){49^Hk5kO)z}mHu-} zOUt#o&xV^!yl-m`4i2>KM+XKlw(mFA;yzb9h!`Fe5NQ)$;7=U*%(uCp)EPkj;n&d=9c;Qr(rQoy72X9L1}0?Ync}VRzxF(n;&<+% zqbu#koQ%nro%g;C>qJ3|3awnnLJ&8;y;d^$s*ql;dyJHoFKETmZvKqXgUXU*g(|QweJ=AnQ?jIEzuv%^A6L1)cfGWkAf7LBWISe-Uz}T z636#~K?R%VLo4RHqwnxaVp$C@#9nw$Ucd53vLv&O{F+bzFJ6CzQ&eNwRJ)cXHt(&(rhAm8ESDF@V2_9bH*H^$b_6QEd6@f>bLbkEal4@GG4cX*9B(?C~t)J zXUa=Y>U8n`-W_!mJ>72$x*RTY|2Qi$=n!C90-a37gfWTv9`HEucdunv_TP6eqgm?Dv zhu5x3D_0-q;OPsII>TzihUj*-iBD=zEW$c3mhI5kY(IL(N$GAH^zHnIf>EnGpfrm- z@n*c7ou9q2tvC^REcta=z*HyFzTbo$04`OJ{m>1Hq$|69<9ro4{jT8A@a>#zkBd2$j?8oNdgDfv|jnKZvUtHAXJc% zg#2(f@G7R?O8WC)gsZ-XgvBxz#@gL@W4hi)X68uT8?Iz*`1g$WpYm-N>Lq-K(FN}n zhb@kS<8B+BHj%iwxW-^-xYK`z@Uk4Cm+N(X7OR&YwwR2Zuhai92RuHg=FbiD9jlu? z`gtVwi&T;yUZolD#<}*DRORcgVZa5bf}>_yM(!!b^;W=q9`yd5KCO=6`<@l3W*q^@84zg@aTf=SrOf zm*0cUV=g4TrD^v!S28QQx%Y=(T|*)Sv*AO#&=s_a`ed2dNK~N`BV%K6M&^oiJ9~SD z->K|awg&p1n>aDZPNnGy$aqX&_Yu&DKKAtVoL?^3tE6$*_K%Fns~SArpN(4oR?w+2 zL*3lm9M6jq@S1d#OJ$SdyObpLRb8)txVs8>BGJt{7*1iG-=~&O{|KI|b=g&p1wp>` zUKBMysbFQZU#E3Uag3?uUT+CEC0)MBqqu)Ktsc|K#>bbu?)wS zn~@s82Xr5ieggoL-Z`<3E`d7Z9(Y*4eu`!j_P>v=hztsRfI;Ttb>l7wd( zG5#*1eyHW;kn_$6sUh~|$_Xh$Ze@RYXt}X|_>r_sK%^;XFS4;TH;$&V@tZ!uvXY}P z(Z`VI8(qpv--=2cs%t9T9}14z?;@q8r7aE@n{s2D1u}m)xRx)h&}Q!bg)3SNXpoAd zT5EnM8Ts|+cA9-VhH!XIO$B4W;M2Y6%*;%KF5DVr5p|YNtl#~KK*EVcF)V z$2(eT>X4ZVJsID-OZIDmOk%6~T3TWrmybRMd@2+OuhfO=2kGc`*PlqR3bxtj*_;cb zNT5>s6=<=Ma!gzb+bz`OI}a;S7I&n!+*9Mqt>tV*#veN$ zdOrGJO^jz-zw<073&)c`7}LFR2WpZi za0w$&zTLDEUyS0#p9{a04*r|459{X*+A8BA&y<8%a4j{vVr>KHR@CwIm_|o;XcruM zrpooPQAtrTnrn8{chxYcsb$4aMHswyHwaJv^^j1yr1SA#VT_;09Ght;$H(tqb#FjA zk@~BHk=&)X1Oy3u1KV~Du)LyG_yyrp=pS9K2f8zJPs@A3jp=26Bm7|q4uWdj`wicy zH_)7%YxKY8uSWP+eQ+N5Viqjts!hvhtqBej6BDf}C;9C3(oWiM_ezbnw&v@sb2~`3 zs~5w}+^9Kcs}xe=t59B4D=R9?A2A4uAzC&Y#D4zt+pc!os+v{k}z)7XL zk@(`}%jHYQ!~B(4YgZCkzjm+PE4Lf5%C^hY;;b&N(M>nD&gir>!U6b4ug_(v80`%c z?-iRGoMpT`#kgX{_rE%;nh7i>5Iylo=_urf?Hj37?>?wWiYc=soglpDkXJ6ZKMX1H ze*$QCEnll})pm$pqaxpZ#WzX4Qr~v!X>@2vCf(fJeAaSn`)b9%X!TdfBmnU}i6%^s zZl#d0ID35i&O~G%Rd_9$@)4y_g=u&?bT@m^O1=Q0P5G0vp3#LW`DV+_WMr-L)xCG* zmiQ0?Tm-DvGYOTz0y2`7zP=D9y=IEAUrQ*=;=UKt8dEjq3Q9>q?%0m^kc?;UhIbUlT$7MhLT`lmwu+t<8Qy|0t-mRV!xMt&mEm1E)orGE_3z^^mX(I@tPG>1)D; z`s!j@zi;$x@#4e$nioXz$uP(|?!Ta*(BLmvRI;yI?6?&Fa^8WV>kxii!FVU})p;bQ zX?(fO+wyc{AXk4dkx{31h?|e(@LjhjLo1&e;qP@z5(6f1FPmKBZLOpkS+3ygiFWnB zCOvr>j*qimRb7jHp?>W-ea*`h;WtkbCEWm#IIi@62+#CbLp)gxOT%`GWlZ|*zgJS! zeIPC-CIgSTHGCxem1N*Y3m3UC{V4`+89#g6@dt~Ybn*DaFR3Yn)vf==9EhN0;-zo~?vhYf zgD20}NUDJ%X-dfATtzlMtJzqy>;BFZ?b6CrODB#K9-}rzVyIPVK0Qdv$BHp4H$pQ6 zQ(q{!Q}f<>7%5n-Se=IA?Y>pFGohQLHo`ebn@#Fr7%Zhs#*-ZGT6FY=!q6#Q8byeHd_bawxJ&9(J zXkyT}zv`0I;}w6{peJAL%Ef7Yqn8^6{9c;gH1y?9_+L@W@K8Yl2+1@*zpMkQvX;#}i*8r*i5-E}MH=M#jcX4qn4SZiK4fP^s8U1KO`w5GNSu zjuYp!j9X&ZtxEcU zhx}7bahV7a@4WV8`pMD{ajimKVq440MmrPh^2a!bwnkkx{*7)6h~K;FI<==mkbX<^ z6GbEbh9y&|#ATYCJ9&ZRj$gJo2^GeBhT)*Di$_J}N#XhHUv$o{91AogT=JP``o6Ar zpYP|oV?7;I*&r}6G3654OGpHBxj8wB%=yBP7GvY$S{WeU&s$i$QvbQbLDc>>b#s^6 zQKEj<^%4GtfM_`ubK=zEVHJ7J<8D9|$?8!0op)`5m&Mx;3JMA*FV&QlMJz3wSL_uz zyuH0oV9kVg7OydxPIf_0=GWzI`FBseH#C~@?GATyps1L3cy_#U<`?xDfh>-AD>LOf z;ha>zV_(xGm6w-$FdoCQWK>jEdPBCRpn~(0dE?ywc&+!06j&wQ$>?Qq(y-+N{M=>n zQXeM;2AOCI!srsNn?|x`qSB$Z`6MJCzplhLlA>mLG~uy(#t(FL<&Gx>W0VCbIaFpf z5gO6Zcc>ES=xC3%7`KG!vl)8vr9&;Ze(CL$8=!w(65eg<$=zKo`=J-p0T9f=7 zJLWe%^UnudxRf-~)=S8sw6z5-`Nm&v5$)Hd;t*a~M&*sywFe#EBns@Z zZwqX-R8^obNex7dc{Vj&S#o(@L~I`20SAdd>qMH85ticitv+mIQYZ-JZ+m=O-<*nU z$8|GPJhGwGmad_%MR}@$Br{k*LI9z8^#!NcfImS{L0Q7?$7MtWmX*@=@76}{x$%X( zmS|Jg`+*z!vxaUdeg=r*>lgG6v-O#cVs|6?)=^LPhS8mg8t+M4;eD0;^&SUDRFW)b zONL@25h3x0HW8fx~RQubmmp?qUbW1_#phti)|vSOM5rA@TrX(_aP9Ht@Kv& zGq1Xqnz%ukpfKgMuW{pL@3)wY9+ub1%oRyzTOeqQq6!a1Rc$f?wbT7)kZdxrk$CIr z=t9?2TzN(GNye2ZX1?53Kab%Fi?E- znSp^pDxW7yhM@mrB#HS*I`@38cwI)Je8#-tN+9>TZD|LTzlfh?@dx|`y7&qyWmAzc za&wWWGxS3TiN_reB!Ham4=x_wWHg!R&c*;h)h9*-AB86E>8d!Lptszww{`hp=wJD^AiqS$l>B1)}EDeWTsO7hYzX z#Z#isA*>W>rrEi<O&thBd)BkK7kqpM3~J6|hR{ef<7wY&6uJ0^U7{fF;; zv2j|kJu=#9&%zYx;gY=feP8F9%brnUzA+r+j3Uj@bhbiIRa2A3OgTLx!+MbfAD?!F z)8^0H&YgIumr{y_QPJx5lGv2$vt%BcWNl8hr}k46WX>7}rqXCHO^BhH30B$hDVp`H z{FRhk7Wk+0Vedy3IN#)46eCfNqFc_^BD5qo*E^^jZ_rRD zVFwrOLEL(xNDZxbt+2bBjPxi8frpq$aCAz0H8*2^50Ql8C@w86p&n}Bg`g4V!jhY_ zFJIt59@9ZXO)bel>w7*fX<{QKB?V3^_5A@=aq9fZ6-UeY^}Zv-!g_rsu&g&I8=DB_ z#^_&N&yHjBq~`DcM1>ftbJKq_7qT)2NY0^SVHH2&R|xu~b!8is+vD-N)8A^xbqS2? z;Z*kU+}zx6*Tl(L`#q-TM{+;rjVttdnl+%T2H7@PcL-sd!V#66nb>kn&mhBenvO0m z*xRP2rgh8u+S*p2VMHXPTr^^ro>DelJ-wa^@_Lg2OcpBn7h4p6=j976R_iC{H%WD@ zWxSxB4yq+V+9#)f3E%O?xVkp{vYwUM>9cKiLxDidFv_m4ufLxCwV7dkq6<<*m#+S1T}^m8I|e7;XmgQD6#GRDQ7RsFpe<^ekRE3*n4RTe%C zyVy8J+^-?LgG3jBlvfpdgt$uH0prFWKUgwYu zug@wh^I1A1)qni)J#!hMQLp9~r$li0Eb98~_$cq_M{qQ~cdSNK=fc~Br7umiLy3%~ zA4;o@`_O)rnq42S&hIN^@Q7nzV4RQe9=%!Y0PHZ}FsvBg_6&8JfTL85JPahrty1oT_ zAjxiRT$Wg}Q4LVQBA7)O5_H(^y|^fH^U_)D0OXbQ5IrR^79^Po zu<&STXt}Xa7|jnj5p11rU@6m?sYa3t>gR>77Axg-`(EpI2*?0}VW&Ul-T8zJbEsA- z0HEQNRQe*Pr>D7qy$k>O3gy9k8-K7>pPcEeB68N#UGl<3;Ah4d1F4ld`eb!DO0(;8 z$RZ+gf^>mh4)R4V?Y-Ieh4^)F;abaFSw~S{p|ky&d*;w^qhO6*9Jl4UaObWdp_pA+ zI`s<FhNttm{K}u@}u@oc2wIe9Mt(DRi;lPMlv~xy&pW(qbRN0+JBQ7aaI?7fPnb-XWpk z$(~3OQf!8cs-GxwgqYGKBYThfKu2IZs*GE^K!7OXy;8@v(UGOgXf3w3fB(>qwqaub zZa4WSUlZ4#v9qh)=BTrM`Hqa|ke}smHI<4NyOgzS^=1i66rwrB|0}*@ea7~mAJn&J zUv|BS_{62H__DVE0=a!%MuY9HxL{;T9BUr=_oyQVe|#ao`0n z)>ih{ut~kVKJgYQ*1|%N>U%NxcXLlD?qcuChTAbzzF=zEk{BZNyfdsT9wh!9ocM04 ze%U&Num@S1HFQqT>~i_HX7i{92qD=Vph2_gb}{KuM%<*PIF{L;LXxHy2P4DGs7G(D zZmYsm;A;xAl#x=xo>qBjDGtqrFHG-Ls0});n)%{8J8?Q8fNC#L2{zxB_9Jj zhopM=06i*(t|PqwjTLeG?>t~!3DW2EE_53vd|6eoKO zRVd0En62#_MMI`U(6NTax@BW8I*NiiO+qR^obP+G3j+%qh@D|@*a_-i%LfUT?$eYg ztiA`JpzMw5#;?z6Rxw5*$xQ12jgJisCFIJeDbawO$vLoV_bNCh2tL+I*z2Ch=j0J> zzBfhdrhwcZ9wJ2g1&7sr)k@&O@%YQ7hmV23)#@(AZZhQjWZzNbzmCgfgUb76c*vMg zl~FI3*2zkmamjZc%kjS7pGn5ORUpyfj=m2)`*CV&)Pe8jaA7Y_{$PiVmuB>*c&ws% ziaQ|vc>lD?8KY}g~aiI)^E;RxeKO3bs9z>qa2EDJAB$sDl{MsRR* z6G0%IVJX^|?q4jhi*BX{brPO!M4D@`4b;!U7m)wYU*q$*Q$}%+G!^q_PB90xE)ju^ zFQj+f%uBGL_Hgt%*7g}_W3Hr3dE7lsK8A|@M?w)6|Kften$okWC66`}9Y20pz#!ff zkob+y)$&14kiFO$AhPUpZVHPyUpbX9t02okJ1Wn*nac4KXgnM}w)GoL{-jj`28 z+O-e0m&tLM-tbs0RY401DxRhZjR(6%l2~`}ANeT)UY=QWKu&nf@0({09$!Gtz(Nos zmK)3mq5$+nC2%1wu)Gc|1&fdOw_CGKFFPKisLZ87;1)!$)MXXLO>r3i5ESvFS#Qb* z@~|a=H${9l*v?^Gs_PT9<7f0Eh5T#^*@L~-YbAcW!;1kAL=DF-0mMM%4vVjs!e=&##Sg~pwV0@Lk~T%_a0HU z`&0sA3J4A|?CEBhOAr#DW~Tz#jm2KJVM)k~v7KwzBa@<$aXN&~bro-ejF zw+jPJw03{W6t-+ppC7qVWmn~=;~w$k@sqsXlK}}dECM2z3u|eN&Srg0!6QCV@q!(~ z7lw8K_QO>55K_O7ot>Q~fRqOk1)Jxo2^h0`VnKB^H5}ioCHJWk6>29Jm;6GxG#HZJ z?GD8Ne#CXv*qq#e3X<34VSy)dfzPmh5=-Lz#H5j}XI=PH9KS52z%3 z$?f;2GPgTunb#3jZ3JwHKG>ejsBBXw@aA03AxdZseV4Z1OYy&E_w)5if@X)Atb8ouz zpEkjI=<9TU&kj9d{UtImGcOHRV1G~oBR7N<&pP1e|l`uXi`Mm2Agzd8GnUk&!N=>~52ka{BSIm7J} zWD)bp4+vdDdj@e+2O_sCIlKzP2#U=Sl1vkmf`-y<+V(cAQ|OUehKh(U($I#taJD-4obZrz~p*>UFM~QZq4Xo>%=eZU#P&UA(o;s*+gJCXr%qlmyOfUEniG!?zPnSKroNH?|vs1dZaN%B7403+1O&87+un3(#}LR~UMIYjKZ6R^A3Q zYhO0-D1M4`n_(*!MUH(wH(Yi+LaMG_SV8TSH!-0cc!$6KWAE0(wI}qaJ4>Jw>-|8q zAQ{siOv!i6b!61M7o_@-#x~%iU~^S`?c2dEuk*{+;6Kgdf02V&)ZC{1E3P?(uu z5_N%2;cmVZ;!QhXX4cc!Cz@GdRf7|s&wVo)%NEYn zTo{O>?!nz61R`JPSRMJL*43WjU8r>uPo))_KsJ&>83_-z3 zQX3oP1zM;sRbHAuYb@5>3;J~4(=KG@uRgJ+Ly6PLh;u)TLtcplqmx#&Wey!niiwT! z9<{2hpO_6NlZ^nT)5O8o&W@>EzfGIrnOp`>U1vKfBzn1)3@R?j*!xiDcekBBB?=dv zk#L7eOK*@dG*CmU8=z_ja;d7h8grE_0pA^H!wPP}X_Ln5(OMwwOT1tO;u|$RJ$+#8 zt#0Piq=H}pV9x{l)&}bUq4D1L>^J9{AD_-Io$w|v#-zEYi&=w#9`S}kRLEAyorNQ< zU&KWSlcIEC>w*o0t#D{AsP-^`$<#=fRPfZ5bGa7__#}vkh{Py$>;$-A{4cuc&RC9- z#OC$MdTw)hyHcJ+=-u&61iKoSW1_iY_)%EdNw}inw2T7J%J2 zKz224v}nE`QeI@LvV$aK6<)tf$IoeNq!1-`9Y>^9e5_-QooeLJ`==QN(u?Cul_8+% ztm@5YZKDxpu+0FWgx2AbqLW69ejDY0pF51`@Dw(d62{zM5SV&|!F2nLHy#4dbf@?vKVi#|6Vr zDtnw+js!!1=?nYwopr=vfwf&T4^QZX^X9DG^Xwec&7`r@w&n~+UD}M&!XbQM2UGk8 zJQ@9Y%|0Gl;t3y_UMQwgwqO=F%C@2Gtr?0walZY!0Wv`d&C9DfFDHkumt1sYfsy}i z_JCfPX=p*Akbv!R!%y4k-&;+A;{$tMd3Gu~4u$@EgB@IQ&G)@WK?1*JIWba3l>k^| zL2<8|?4zj?-fwC@D;M+;2AGbm75bsXJy%W1x$aId^ zQzQp>D}geg{9s8P^uw&m?w{T`S$J44@=F5049qP{=rYljX7}*Iu5zJ3t@bOTO`L?# zAvX^7mrXi_K-q)P#FpkU%HbC;z;{Z86sb6adq_yMF*(J)YKohz%i#Ps3nlQ=3H<<9 zxg50B1yzpwCi)KHSu#iw#gXeXXWA>86lVSi_?cJ%zg>WlmX`L!`P~%1%%3KD&)SP_ zN^ssA%8n!AyZqm-g)muESd47)EK~N&^)Bvk06_o4bTqV;`J@*}q)z^20>aBCVX!9G z>rN} z@{G|&CNMgC?*NPb*dnOq%~#lvwG(Cf9p(yr9ZD7Qo1du1bVMA6PCv@Oc+dWQPr7b% zIw2)(>GiiXa+s4)jC}Wa?o-bEdK_Mj<>)RwNLc>biDgKE%qCc>?y`QyWDwSv>OSyk z@jq{??Ss)3xf4jB#}3regLGCD(-Ohg(IqhFVRneQhE3U&KS9l@%$P?jPh&h z7?#Q;i#RKBQU)x!@6)gqBcyz3)2$@o4Y|>J8zPD{#iu#J~LAh&?{g#m>}_pUvl~oLVQ?&IFU|(O_l$+Yazn;(&fO5#C78haD))=J3zo5Ke#x!p%UteCPtnm^) zny2LQj?qz7D?@c3x+N4PmaOoqJQ8BwBhD{vxB2(%RHsUy zX#f9im-ild5DS~9InUtJ@9sq>HiPGPyvch1`+nEITPBhUXlUakPsB+Qednn?&)5=y z$HZbNR0hNkw@vP_g#xyf5b@G%0S>qXCrL(Eh-6H062S6_FKDd}YhS=F<-a_$6Up6#2bgWZqz*c8wmkcsF~zvGOlfS(V~c}91Z~1HI*gGg#X?;urwE$NiwhR-TGwnQanQnBteGy zkrbvAmvJTY>jTdN`}=;!#J_}%CO^vlRBYFRheg!3eQ4g7SSQfut(@Z8FYOQe@t0i1 zP4qBpAT0)LiF*Crz1EQUFD@eCcGS{MxP&GMP0>KcEi0$gbB~XPUIy6<`q@EzO0^`S ztbHGV^0DXWd_tL-nJ`x`a7^ThhvP0y6TE+V)-=7_6@-j>$`1)Rtvzg`8Ecc6KKR-WgA|l=WfnEu2opwm}YQ+A!q-|Q0MO4S_8AU?88rUZ9Mx|8ZNuPUXO~;%2J4u5B zQ34Qd?op_(@@M2S>iRU%zBGR?F3YWanyRxqc6HAOxHg|8k>MjrnX0n;4k{|#RMW$m-@8xSkZEL3XpIJ$V6bllbH; z@9krdq(0T8ry|uyK`nteClN&=cXD##e$L);e~Nr@Fc%jV7FIhuH$Ok)Wx&hJ>saBx zvM|@^_zt*)#O~@^o`<0u}LB9P?8R5CPxeX{(Z(RVe z`fH1`8ndhCc8;CgkAj}TLFR$q@XN06?u=i;Lr@X}doNFlrpNbei=TKsGRZ}JijDW@ zlUjv6Jv<$tet_v;K3r~MO!PNNsxdM(6$jR=v5~RG;@sRXFhdJdNJt3b=2O}C@0i=t z``U<*2>a^g!?&3m+q;il%I9csu18r-`wAA}9d+j}xzvYm5=iY#9_MMT3ZtV*0)kO^XOi1R`lEeH=5S^{<7CT zqf+iuZ$T2^`sbTnOF3x9uYjo`{0yMycLwkf0$XkiF86|Lcz-l#Fh{~wn+8EOz15vD&yn|P~OKj%MJL2e3 z-g3PtvQkV0s#NZEngoy_Qj2F_VVMw=Redn-{n|{^dR7F=5Xi^fdctsO4Ljj5`lk|U zhIsw1(>v5x8dm)1ZxJ2Ip?`iDi)Y{-Vsw8VU9j(9#QdVuV7K&jg&0DUkx)R{cB5$S zRHdeHh8G_{3A6K96=b6fL0a=By`hJzMA+oE;StnW06XJcGm=X%;17oM@Qr-Zsj5(vs&)Q=Y?c8OQd296lRBEVzA8;TZcF{!( z!7Qf^%z8yPs3FYCQz^XGGf0K27RprR{MqzgJh?j7d!-H7uNwYAJMyR%ELnj3Yx@jr zzvi5$H*?y+-wX{h=P=LgYfm_^uNQ^n3QlE+0KoY6lk0+epUb$NITPUGqGpM)JQ)mc z=}N!vOuF{bHYhITCpA!y`ZOZ**ss9DZc|LF-CYJuJNA*n&2fLX%ouQ&w%QFY7Avmb z+;yRtO=KU!K+#7V;O1v*Ev-=8Bt;liVLR23ozHOw=J@#L1&$V=b~ks(&`b6G53=q5 zS@TPzBqJ&O(&I4rO>?>)z*>I~b$`=y^s88I?us!-?9kMg|5^g3U&!0%i?&xwAN1;O zP|`b2E7>JW^2_a*lieEGhU3z{;R!7v6!Ap(f59@ z>+SPsCE#0g62C+J{IpMyxqjcM#DZhHQBBw1XHjo9EMQ~coYTWOG%0jF;UFip#UDmHeF zm@meL|5YfZ0Dp^_;`>7pGXdY*KF9B6k1x((ib^Y#^5Svgm#LV;h;;5!}`y40mWzcQU!%sj>@|Hgz{1`y%Ss^+J&`}AiITbewn>9o6z@pJ$;|6cHz z$c|&#F45H3#`}D-ngS1b|4jGUMIho*k33edC%x|KHaL>k>5h|dlaM(yGuABW1__v-jA&{_iu6Hi)D5fv~|L= zLZVvorbJo2VE|RuCgiofWqoz+n4RTT0A)+I*j`QwyI&@^;y`PKU*^qR7C3FKRwnfJ za%kbe-h^OHzWX_p9Ws`XPM%tK`W`3oyWmNnBOr0UZeJ-U+P$>CefTsbIHfV+NQ?OI zc{YkxN`7`OG4J$bKRxUS(WI?l+S@_{8B?bxA+IWL9jU$owttaebMg@Z_;SewfSp+- zj|eCNij5r7jn_~Q+ByG4-ZVWNa>QNvsY28JErJF-mHH($ZRtKJEm zmhAopnPOJFx$fw*c$!0jx<3DvI_Z2B9J)1 zIWE=8QRaXdLx8-0uAZ2fJ7_ERHA?vB>GGiHA4*k8%FTq_F@0<}oVm^#bci8U+J&cFU!TF|VGdFS&Ftn&}3GRJv;@RZSuMxrW!tgWR8CI}l9QlnX1Q zB_)X|Df4(C?#le81L#6*GHBQb>U!mBNlAc3t{8*O6BW@ zY5ESj0`x4-MsSp9E}3` zL4d{Ouh4hGqdWl8ffGS3@!;KH>ay@^0r6Ax9D6}yHc4L+lpnp39u}MgnE}IM*9dh)e zT(^etQ{R7r^YrwL2@DMUdLZz0?@Y(cS;?*i3Ap{sc?{?~%g5S};Lwosez;h3y8X0o znObj%4(0b1uXok*&{Z;@*liN`-rW~eAb3HS&Ud#I7nAFU1cx(8nU<0OoIzedAF@1I z>rqw8k@?cBb9Z%AL?#-nxIL0#Ihx5oRVYWO4azq7&xToRowwy-KBE5K-d-AGum=%r zQ=7&#RBk7-B$>uy^$^KV5`m7G8wED(-z_^fvWYA&crO4o2GhHR2gf(8Yi-=W?D*%8 z!W;rz=djX@-SUQImNj<>#PIey!dG?F4IG9^FkOp-v_(v9nw1XGvgy2Y zFOPgX&>agEB-KPVgip5lAd`0M(FaNeQ&{=zEf)j+>zVXS0!)$LsXJDK0hV!cUlu<{jx3tYC%CkOhSSq9VdAw zE@T)3@0(8bK8pDCghKzoi1v$@M1PJ)a)S?wem$E^8EUHKy<~xYZDOE1S^nz&UJn0_ z7=TCwHbmLSFLdOxjZg?VY+i2z3lF>9*~JAV(4s(HNG{0Rr@Tl(J*+hV5X+=18EY!e z7SPWoF@(x$4;V@Ni8efmeHs#Nv(8dGko)B2FMjR3yN^eJ#v6Ivl0THp| zH_XbtU9kbwd0pw>blAS%tbRqY0)~oUyd1U8Zg27Lir~i~hQNgLa~H?M)m5c^C{Wj4 zUOk5dG@k&Eqj_-f#KxmA2%gCe5hgVw{dSRIXX@@Pg6@q*Y7-SYtc#6Atd{ozwrM^k zb>T;C)$1X-)^itykS!Bt;dYddzi0$^K{>ICkIy~vcEUNxN(n@ilw!CV>gvib+(23i zWFq9z8H<@syZ>}?A@8YSdJ;uz0oRH8>Vx@YkMi%`DWVTDPOL;p7H;^{@T1u<3D);Z zYl&nw9=l`l!x2w1XC4qxUZq7xJ4hNB9|#F&<>lr5LDExKSKo(%buoYU3?lT<2taq0 ze0g{1m5s>;uF7J8jS@~$l9NX;C4Gn3aQ>pzOuiPD_c#vE&)I}8-2)LmfUUL7wvj+o z2jv99PHUhlJ2W&jJ|jbK9}1Grc@rJuwQjxPY)C+?qd*t{7+k1m_Lk9UU99h0p^X5F z5}h5A5n9VQ{b(Sg_9mPX{hY=!1TV<+qOTKa^m>Yln_Da0xj+|Iyv)bj#T$J6!l7um z`tmpsU4Ui;bijJC7x0@pU9Re0SBH$9JK!1-`p}7_ksa~vTiK6u7QcHBC4GNT3E=`t zp#v9if&G2Nz#Gb*hx4EHtMp>;8WX*OPUoE9ZDG{WK!QvJVm`dBC%$BxDktbX`z@%2 zrlF$?gHBeh*@{34nr&NoQ%ns^*JfJUy(k9vLTz@INnS zN5`DgQzxZ2BX2ys*;!}SQ&{-$tUO4jj`@mLJ;yqo$)2`9_w_dA-rU@P;`mqU-!$19 zs;Z*38|)Y_6hT8Kl$4Y~>FMc*&7a@@Z_69tlKlTurT_n_yx*iSKmR|0`(sfgG&Cwe zNu6F?6adL^5~$r$C8K@+S1G=#a;jd7+jyLUfRwPX@Y=;+P>Y|Flf!1*ivpy4iUKaD zjaO};o(vlwUy4z?_VuVZ7+Q<&uNbw!^r`$kJ|5d@A|FvpQ*#XPa&ppL{^-|t?Q@pE zb(~Mp7e$J9gj255Km|6O)l3;a%n`8cv5q=8I!dh)Vkj;V79MVS{I~NQkP{Q28c+=I zE48LWxIC_V*si-1K|sp`?o1TOoc|3(4-=9I&Gg!%t?_u* ztOLlBzRzH2`!E~aVrd*HEMY0oGtE88ipY{%?irc!{fKG{mM z|9&lb3K$MT-K^x~Vo-sv41P7CgpQ6*Rl3Tk2PvVnwAAYH{^om6I9~WRU@vItC~r=O znAN~9AAr${CunH9n9*6|ZUS|Gs?vX<(DGXll$EakMnA?0-=Dd;5@9qiX^nO zw9rvdi18t`xF4z0B0lja^Ly7z?}7m-udb?6gw;E-+sS`F;Ppg7rcXoC4?@s?8%X4UaHkfUf+jC2=$D8e*_zKLM>+3O4lPL`x$lo0o zfT6PICX$#J^ec9FDV5#Y0t^Uy#kN9hS#7N<13sPQO-K@4$ITWYD9%sx;(D9Ix$Ggz z0N;Mxh0JcZzPS!8n_ml5{>^O@BJAfRVD1w)w+ctz%IO+ZLXK$6^TVaIR8D(&>B~RH zQR84ztlNGAf-~LuZISW`g7w)?oLg~_yj7ErmhX24?2O^ zdA!bPE5 zZj=~=bpon&8BW!}H1`v|)r<-Kzb>v+g^1L<&(#lLj*ZmCLqiKvIScwo{nI5P2q+UJ zJWEs&xpI<=9ss7&*+0#m0M)R9=VPMip>nSPup{5);owlGNMq8e|27O<0o&a-pq9h( z{`!Q?cAgDjA#zG8s<7<<1N!^>sgj0Eb!pXL*EM|33ZL)cF#0bh6#|uA4i$|ESbf zBBBx;I(OYG6PrUxamuo(Y$d&}sp*9{^y)C-kUTGg^qY0*6czBPr#r`RDN^5PLXt-haeo) z`9@D~2&IbhQ^DdMP&_c3OdJ>(SW6Gj|9pB(;PUkN&{L5NG=?;YZ*HNXp^xs|IW5=H)^@MRE$*<)Ja&-L z^%=l29<)g!iTm@}P5Vs0nmR<@7PbtKG|QRcA$4Vb;6oR0zg;HjbNUa>m&xDeI=h^0 z+`EVsIT6z!9dEcW=BeL%dz9pSAX`l z7l(kV<$ne*A0J8pF7{73SE0^4oqK)mwub1CjBUEg6T(|=bvNqq!GWxjA(Kl8uc=;M8UL$khkps7Om+SBS`|b83Emd~4SuI|C zX%>+@m0YI|ZdIxTow}(bENDla6MO7!dqarJI*J` zx=(G#D#LKSXY=jFz3%L<-@omW;d6t#Yx1UA&NR=Tr@?c)SGv;Mp8YLwhU3e}7(Oph)vU=&>dV`Rdm^HJE)BCgx3Xa!})htALXzE8F;FR{_s)S-A>W zd@of2&Li!A`8x4H1EW@PcxdQSpl8=-0SmrW7cK;RoV8)&#=xyvSG`PuIpZpD18b<) zq}j8zt4^~5b68!{o$y>>)>}1IJABodR@VQ@r3YAm)qH{R32?K5jKg?Hs^)=Kfsg-b zI4NyWpa86eCFbbG>`?GCkK<=p#ts~+nz0A8BO180Yb9{EbxLloFQ|_PEZ4e%y}Y<8 ztEw&mi&)@Lf~Rc=!w%pn9}EX{Dypk51JBz4%|w7k!It#cR$M)xw$yb1- z^U8J(hVqk6t^HCA32t)re+oe%$q@nEe3S`1L8s)$hr~@=w*t4eF%(P(4h%Fzo;-hk z`G*e$6W1pJ*C?{{%ZVIkNZ1A3^~{h4TxZu>_v0aZ;myN`ou8~_XvhRDAxKLHZnu2` zoD%?^xB@yo2e@62VFhp%C2$`KuyAzWUG{d-j2RMKyu3@}>wdQW`|+3`xI~-bYr`B- z1_S9mwKG2lhpmh8Y-Z&^-*Eu6{1-oD!M< Dl{qX> literal 36104 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 UcW0Zq6ax@=y85}Sb4q9e0MwFG>Hq)$ diff --git a/README_files/figure-commonmark/cell-14-output-1.png b/README_files/figure-commonmark/cell-14-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ed52daeb3507c219c75131059ac09dace25c90cc GIT binary patch literal 19238 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 Dl{qX> literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/cell-15-output-1.png b/README_files/figure-commonmark/cell-15-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2c1df4cf12676ea3be244e59f6c97ea693ec0e96 GIT binary patch literal 36114 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 IbxsLQ0Ag}cIRF3v literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/cell-3-output-1.png b/README_files/figure-commonmark/cell-3-output-1.png index a47f4747adbf6b1e2503021ed185a02ada720142..7b43e831927e8943536b327cac5b63aa6c57406c 100644 GIT binary patch literal 37127 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 diff --git a/README_files/figure-commonmark/cell-9-output-1.png b/README_files/figure-commonmark/cell-9-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..aad94a7195c85d70375f5349ed2c9eadd44d1419 GIT binary patch literal 39596 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 LinePlot: ) return sp + def twinx(self, row: int | None = None, col: int | None = None) -> LinePlot: + """Create or return a secondary y-axis sharing a subplot's x-axis. + + The returned subplot accepts the same plotting methods as a regular + subplot. With the Matplotlib backend it is rendered on ``ax.twinx()``. + Only one secondary y-axis is supported per subplot. + """ + self._get_or_create_subplot(row, col) + if row is None: + row, col = 0, 0 + key = (row, col) + if key not in self._twinx_subplots: + self._twinx_subplots[key] = LinePlot() + return self._twinx_subplots[key] + + @property + def twinx_axes(self): + """Return materialized Matplotlib secondary axes by ``(row, col)``.""" + return dict(self._matplotlib_twin_axes) + def iter_subplots(self): """Yield (row, col, subplot) for every initialized subplot, row-major.""" for r in range(self.nrows): @@ -803,6 +1033,24 @@ def suptitle(self, title: str, **kwargs): self._suptitle = title self._suptitle_kwargs = kwargs + def supxlabel(self, label: str, **kwargs): + """Set a figure-level x-axis label.""" + self._supxlabel = label + self._supxlabel_kwargs = dict(kwargs) + + def supylabel(self, label: str, **kwargs): + """Set a figure-level y-axis label.""" + self._supylabel = label + self._supylabel_kwargs = dict(kwargs) + + def subplots_adjust(self, **kwargs): + """Adjust subplot spacing after the figure is created.""" + self._subplots_adjust_kwargs = dict(kwargs) + + def tight_layout(self, **kwargs): + """Apply Matplotlib's automatic tight layout after plotting.""" + self._tight_layout_kwargs = dict(kwargs) + def add_tikzfigure( self, col=None, @@ -1225,6 +1473,15 @@ def plot_matplotlib( suptitle_kwargs.setdefault("fontsize", self.fontsize) fig.suptitle(self._suptitle, **suptitle_kwargs) + if self._supxlabel: + fig.supxlabel(self._supxlabel, **self._supxlabel_kwargs) + if self._supylabel: + fig.supylabel(self._supylabel, **self._supylabel_kwargs) + if self._subplots_adjust_kwargs: + fig.subplots_adjust(**self._subplots_adjust_kwargs) + if self._tight_layout_kwargs is not None: + fig.tight_layout(**self._tight_layout_kwargs) + if verbose: print("Set suptitle.") @@ -1232,6 +1489,11 @@ def plot_matplotlib( self._plotted = True self._matplotlib_fig = fig self._matplotlib_axes = axes + self._matplotlib_twin_axes = {} + for (row, col), twin_subplot in self._twinx_subplots.items(): + twin_axis = axes[row][col].twinx() + twin_subplot.plot_matplotlib(twin_axis, layers=layers) + self._matplotlib_twin_axes[(row, col)] = twin_axis if matplotlib_customizations is not None: _apply_matplotlib_customizations(fig, axes, matplotlib_customizations) if matplotlib_postprocess is not None: @@ -1260,6 +1522,11 @@ def plot_tikzfigure( if verbose: print(f"Plotting tikzfigure with {len(self._subplot_dict)} subplot(s)") + if self._twinx_subplots: + raise NotImplementedError( + "twinx plots are currently supported only by the matplotlib and plotly backends" + ) + # Check for unsupported layouts if self.nrows > 1: raise NotImplementedError( @@ -1395,6 +1662,10 @@ def plot_plotext( layers: list | None = None, verbose: bool = False, ) -> PlotextFigure: + if self._twinx_subplots: + raise NotImplementedError( + "twinx plots are not supported by the plotext backend" + ) if verbose: print("Generating plotext figure...") @@ -1450,23 +1721,56 @@ def plot_plotly( index = row * self.ncols + col subplot_titles[index] = sp._title or f"({row}, {col})" + specs = [ + [ + {"secondary_y": (r, c) in self._twinx_subplots} + for c in range(self.ncols) + ] + for r in range(self.nrows) + ] fig = make_subplots( rows=self.nrows, cols=self.ncols, subplot_titles=subplot_titles, + specs=specs, ) # Plot each subplot and propagate axis labels/scale for (row, col), line_plot in self._subplot_dict.items(): traces, shapes, annotations = line_plot.plot_plotly(layers=layers) for trace in traces: - fig.add_trace(trace, row=row + 1, col=col + 1) + if trace.type == "pie": + fig.add_trace(trace) + else: + fig.add_trace(trace, row=row + 1, col=col + 1) # Axis indices are row-major: (row*ncols + col + 1) axis_index = row * self.ncols + col + 1 xref = "x" if axis_index == 1 else f"x{axis_index}" yref = "y" if axis_index == 1 else f"y{axis_index}" + twin_subplot = self._twinx_subplots.get((row, col)) + if twin_subplot is not None: + twin_traces, twin_shapes, twin_annotations = twin_subplot.plot_plotly( + layers=layers + ) + for trace in twin_traces: + if trace.type == "pie": + fig.add_trace(trace) + else: + fig.add_trace( + trace, + row=row + 1, + col=col + 1, + secondary_y=True, + ) + for shape in twin_shapes: + shape = dict(shape) + shape["yref"] = yref + fig.add_shape(shape) + for annotation in twin_annotations: + fig.add_annotation(dict(annotation)) + for shape in shapes: shape = dict(shape) if shape.get("xref") not in {"paper"}: @@ -1502,6 +1806,14 @@ def plot_plotly( yaxis_kwargs["type"] = "log" fig.update_yaxes(**yaxis_kwargs) + if twin_subplot is not None: + fig.update_yaxes( + title_text=twin_subplot._ylabel or None, + secondary_y=True, + row=row + 1, + col=col + 1, + ) + # Axis limits if line_plot._xmin is not None or line_plot._xmax is not None: x_range = [line_plot._xmin, line_plot._xmax] diff --git a/src/maxplotlib/subfigure/line_plot.py b/src/maxplotlib/subfigure/line_plot.py index f4322e6..0d29d60 100644 --- a/src/maxplotlib/subfigure/line_plot.py +++ b/src/maxplotlib/subfigure/line_plot.py @@ -88,6 +88,16 @@ def __init__( # Axis scale type ('linear', 'log', 'symlog') self._xaxis_scale: str | None = None self._yaxis_scale: str | None = None + self._axis_off = False + self._axisbelow = None + self._facecolor = None + self._margins: dict = {} + self._invert_xaxis = False + self._invert_yaxis = False + self._minorticks = None + self._locator_params: dict = {} + self._ticklabel_format: dict = {} + self._bar_label_kwargs: dict | None = None # Custom tick positions and labels self._xticks: list | None = None @@ -191,6 +201,99 @@ def bar(self, x, height, layer=0, **kwargs): } self._add(ld, layer) + def barh(self, y, width, layer=0, **kwargs): + """Add a horizontal bar chart.""" + self._add( + { + "y": np.array(y), + "width": np.array(width), + "layer": layer, + "plot_type": "barh", + "kwargs": kwargs, + }, + layer, + ) + + def hist(self, x, bins=10, layer=0, **kwargs): + """Add a histogram.""" + self._add( + { + "x": np.array(x), + "bins": bins, + "layer": layer, + "plot_type": "hist", + "kwargs": kwargs, + }, + layer, + ) + + def step(self, x, y, layer=0, **kwargs): + """Add a step plot.""" + self._add( + {"x": np.array(x), "y": np.array(y), "layer": layer, "plot_type": "step", "kwargs": kwargs}, + layer, + ) + + def stairs(self, values, edges=None, baseline=0, layer=0, **kwargs): + """Add a stairs plot.""" + self._add( + {"values": np.array(values), "edges": edges, "baseline": baseline, "layer": layer, "plot_type": "stairs", "kwargs": kwargs}, + layer, + ) + + def broken_barh(self, xranges, yrange, layer=0, **kwargs): + """Add horizontal bars with gaps between x ranges.""" + self._add( + {"xranges": list(xranges), "yrange": yrange, "layer": layer, "plot_type": "broken_barh", "kwargs": kwargs}, + layer, + ) + + def pie(self, x, layer=0, **kwargs): + """Add a pie chart.""" + self._add( + {"x": np.array(x), "layer": layer, "plot_type": "pie", "kwargs": kwargs}, + layer, + ) + + def bar_label(self, **kwargs): + """Add labels to bar containers in the Matplotlib backend.""" + self._bar_label_kwargs = dict(kwargs) + + def stem(self, x, y, layer=0, **kwargs): + """Add a stem plot.""" + self._add( + {"x": np.array(x), "y": np.array(y), "layer": layer, "plot_type": "stem", "kwargs": kwargs}, + layer, + ) + + def stackplot(self, x, *ys, layer=0, **kwargs): + """Add a stacked area plot.""" + self._add( + {"x": np.array(x), "ys": [np.array(y) for y in ys], "layer": layer, "plot_type": "stackplot", "kwargs": kwargs}, + layer, + ) + + def boxplot(self, x, layer=0, **kwargs): + """Add a box-and-whisker plot.""" + self._add( + {"x": x, "layer": layer, "plot_type": "boxplot", "kwargs": kwargs}, + layer, + ) + + def violinplot(self, dataset, layer=0, **kwargs): + """Add a violin plot.""" + self._add( + {"dataset": dataset, "layer": layer, "plot_type": "violinplot", "kwargs": kwargs}, + layer, + ) + + def eventplot(self, positions, layer=0, **kwargs): + """Add an event/rug plot.""" + self._add( + {"positions": positions, "layer": layer, "plot_type": "eventplot", "kwargs": kwargs}, + layer, + ) + def gantt(self, tasks, start_times, durations, layer=0, **kwargs): """ Add a Gantt chart to the subplot. @@ -318,6 +421,50 @@ def set_yscale(self, scale: str): """Set the y-axis scale type: 'linear', 'log', or 'symlog'.""" self._yaxis_scale = scale + def set_axis_off(self): + """Hide the axis frame, ticks, and labels.""" + self._axis_off = True + + def set_axis_on(self): + """Show the axis frame, ticks, and labels.""" + self._axis_off = False + + def set_axisbelow(self, state=True): + """Set whether axis gridlines and ticks are drawn below plot data.""" + self._axisbelow = state + + def set_facecolor(self, color): + """Set the subplot background color.""" + self._facecolor = color + + def margins(self, *args, **kwargs): + """Set x/y data margins using Matplotlib-style arguments.""" + self._margins = {"args": args, **kwargs} + + def invert_xaxis(self): + """Invert the x-axis direction.""" + self._invert_xaxis = True + + def invert_yaxis(self): + """Invert the y-axis direction.""" + self._invert_yaxis = True + + def minorticks_on(self): + """Enable minor ticks.""" + self._minorticks = True + + def minorticks_off(self): + """Disable minor ticks.""" + self._minorticks = False + + def locator_params(self, **kwargs): + """Set axis locator parameters.""" + self._locator_params = dict(kwargs) + + def ticklabel_format(self, **kwargs): + """Configure tick-label numeric formatting.""" + self._ticklabel_format = dict(kwargs) + def set_xticks(self, ticks, labels=None, **kwargs): """Set x-axis tick positions, labels, and label properties. @@ -360,6 +507,20 @@ def fill_between(self, x, y1, y2=0, layer=0, **kwargs): } self._add(ld, layer) + def fill_betweenx(self, y, x1, x2=0, layer=0, **kwargs): + """Fill the area between two x-boundaries along y.""" + self._add( + { + "y": np.array(y), + "x1": np.array(x1) if not np.isscalar(x1) else x1, + "x2": np.array(x2) if not np.isscalar(x2) else x2, + "layer": layer, + "plot_type": "fill_betweenx", + "kwargs": kwargs, + }, + layer, + ) + def errorbar(self, x, y, yerr=None, xerr=None, layer=0, **kwargs): """ Add a line plot with error bars. @@ -421,6 +582,34 @@ def vlines(self, x, ymin, ymax, layer=0, **kwargs): } self._add(ld, layer) + def axvspan(self, xmin, xmax, layer=0, **kwargs): + """Add a vertical shaded span across the axes.""" + self._add( + {"xmin": xmin, "xmax": xmax, "layer": layer, "plot_type": "axvspan", "kwargs": kwargs}, + layer, + ) + + def axhspan(self, ymin, ymax, layer=0, **kwargs): + """Add a horizontal shaded span across the axes.""" + self._add( + {"ymin": ymin, "ymax": ymax, "layer": layer, "plot_type": "axhspan", "kwargs": kwargs}, + layer, + ) + + def arrow(self, x, y, dx, dy, layer=0, **kwargs): + """Add an arrow to the axes.""" + self._add( + {"x": x, "y": y, "dx": dx, "dy": dy, "layer": layer, "plot_type": "arrow", "kwargs": kwargs}, + layer, + ) + + def axline(self, xy1, xy2=None, slope=None, layer=0, **kwargs): + """Add an infinitely extending line through one or two points.""" + self._add( + {"xy1": xy1, "xy2": xy2, "slope": slope, "layer": layer, "plot_type": "axline", "kwargs": kwargs}, + layer, + ) + def annotate(self, text, xy, xytext=None, layer=0, **kwargs): """ Add a text annotation, optionally with an arrow. @@ -529,6 +718,41 @@ def plot_matplotlib( line["height"] * self._yscale, **line["kwargs"], ) + elif line["plot_type"] == "barh": + ax.barh( + line["y"], + line["width"] * self._xscale, + **line["kwargs"], + ) + elif line["plot_type"] == "hist": + ax.hist(line["x"], bins=line["bins"], **line["kwargs"]) + elif line["plot_type"] == "step": + ax.step( + (line["x"] + self._xshift) * self._xscale, + (line["y"] + self._yshift) * self._yscale, + **line["kwargs"], + ) + elif line["plot_type"] == "stairs": + ax.stairs( + line["values"], + edges=line["edges"], + baseline=line["baseline"], + **line["kwargs"], + ) + elif line["plot_type"] == "broken_barh": + ax.broken_barh(line["xranges"], line["yrange"], **line["kwargs"]) + elif line["plot_type"] == "pie": + ax.pie(line["x"], **line["kwargs"]) + elif line["plot_type"] == "stem": + ax.stem(line["x"], line["y"], **line["kwargs"]) + elif line["plot_type"] == "stackplot": + ax.stackplot(line["x"], *line["ys"], **line["kwargs"]) + elif line["plot_type"] == "boxplot": + ax.boxplot(line["x"], **line["kwargs"]) + elif line["plot_type"] == "violinplot": + ax.violinplot(line["dataset"], **line["kwargs"]) + elif line["plot_type"] == "eventplot": + ax.eventplot(line["positions"], **line["kwargs"]) elif line["plot_type"] == "gantt": tasks = line["tasks"] start_times = (line["start_times"] + self._xshift) * self._xscale @@ -615,6 +839,20 @@ def plot_matplotlib( ), **line["kwargs"], ) + elif line["plot_type"] == "fill_betweenx": + y = (line["y"] + self._yshift) * self._yscale + x1 = line["x1"] + x2 = line["x2"] + if np.isscalar(x1): + x1 = np.full_like(y, x1, dtype=float) + if np.isscalar(x2): + x2 = np.full_like(y, x2, dtype=float) + ax.fill_betweenx( + y, + (np.asarray(x1) + self._xshift) * self._xscale, + (np.asarray(x2) + self._xshift) * self._xscale, + **line["kwargs"], + ) elif line["plot_type"] == "errorbar": ax.errorbar( (line["x"] + self._xshift) * self._xscale, @@ -627,6 +865,25 @@ def plot_matplotlib( ax.hlines(line["y"], line["xmin"], line["xmax"], **line["kwargs"]) elif line["plot_type"] == "vlines": ax.vlines(line["x"], line["ymin"], line["ymax"], **line["kwargs"]) + elif line["plot_type"] == "axvspan": + ax.axvspan(line["xmin"], line["xmax"], **line["kwargs"]) + elif line["plot_type"] == "axhspan": + ax.axhspan(line["ymin"], line["ymax"], **line["kwargs"]) + elif line["plot_type"] == "arrow": + ax.arrow( + line["x"], + line["y"], + line["dx"], + line["dy"], + **line["kwargs"], + ) + elif line["plot_type"] == "axline": + ax.axline( + line["xy1"], + xy2=line["xy2"], + slope=line["slope"], + **line["kwargs"], + ) elif line["plot_type"] == "annotate": ann_kwargs = dict(line["kwargs"]) if line["xytext"] is not None: @@ -689,6 +946,31 @@ def plot_matplotlib( ax.tick_params(**self._tick_params) if self._aspect is not None: ax.set_aspect(self._aspect) + if self._axisbelow is not None: + ax.set_axisbelow(self._axisbelow) + if self._facecolor is not None: + ax.set_facecolor(self._facecolor) + if self._margins: + margin_settings = dict(self._margins) + margin_args = margin_settings.pop("args", ()) + ax.margins(*margin_args, **margin_settings) + if self._invert_xaxis: + ax.invert_xaxis() + if self._invert_yaxis: + ax.invert_yaxis() + if self._minorticks is True: + ax.minorticks_on() + elif self._minorticks is False: + ax.minorticks_off() + if self._locator_params: + ax.locator_params(**self._locator_params) + if self._ticklabel_format: + ax.ticklabel_format(**self._ticklabel_format) + if self._axis_off: + ax.set_axis_off() + if self._bar_label_kwargs: + for container in ax.containers: + ax.bar_label(container, **self._bar_label_kwargs) def plot_tikzfigure(self, layers=None, verbose: bool = False) -> TikzFigure: @@ -916,6 +1198,153 @@ def plotly_color(value): marker_color=plotly_color(kwargs.get("color", None)), ) traces.append(trace) + elif plot_type == "barh": + kwargs = line["kwargs"] + traces.append( + go.Bar( + x=np.asarray(line["width"]) * self._xscale, + y=ty(line["y"]), + orientation="h", + name=kwargs.get("label", ""), + showlegend=bool(kwargs.get("label")) and bool(self._legend), + marker_color=plotly_color(kwargs.get("color", None)), + ) + ) + elif plot_type == "hist": + kwargs = line["kwargs"] + traces.append( + go.Histogram( + x=tx(line["x"]), + nbinsx=line["bins"] if np.isscalar(line["bins"]) else None, + name=kwargs.get("label", ""), + showlegend=bool(kwargs.get("label")) and bool(self._legend), + marker_color=plotly_color(kwargs.get("color", None)), + opacity=kwargs.get("alpha", None), + ) + ) + elif plot_type == "step": + kwargs = line["kwargs"] + traces.append( + go.Scatter( + x=tx(line["x"]), + y=ty(line["y"]), + mode="lines", + line=dict( + shape=kwargs.get("where", "hv"), + color=plotly_color(kwargs.get("color", None)), + ), + name=kwargs.get("label", ""), + showlegend=bool(kwargs.get("label")) and bool(self._legend), + ) + ) + elif plot_type == "stairs": + kwargs = line["kwargs"] + values = np.asarray(line["values"]) + edges = line["edges"] + if edges is None: + edges = np.arange(values.size + 1) + edges = np.asarray(edges) + x_values = np.repeat(tx(edges), 2)[1:-1] + y_values = np.repeat(ty(values), 2) + traces.append( + go.Scatter( + x=x_values, + y=y_values, + mode="lines", + line=dict(color=plotly_color(kwargs.get("color", None))), + name=kwargs.get("label", ""), + showlegend=bool(kwargs.get("label")) and bool(self._legend), + ) + ) + elif plot_type == "broken_barh": + kwargs = line["kwargs"] + for start, width in line["xranges"]: + traces.append( + go.Bar( + x=[width * self._xscale], + y=[line["yrange"][0] + line["yrange"][1] / 2], + base=[txs(start)], + orientation="h", + width=line["yrange"][1], + marker_color=plotly_color(kwargs.get("color", None)), + showlegend=False, + ) + ) + elif plot_type == "pie": + kwargs = line["kwargs"] + labels = kwargs.get("labels", None) + traces.append( + go.Pie( + values=line["x"], + labels=labels, + name=kwargs.get("label", ""), + showlegend=bool(self._legend), + ) + ) + elif plot_type == "stem": + kwargs = line["kwargs"] + traces.append( + go.Scatter( + x=tx(line["x"]), + y=ty(line["y"]), + mode="markers+lines", + line=dict(color=plotly_color(kwargs.get("color", None))), + name=kwargs.get("label", ""), + showlegend=bool(kwargs.get("label")) and bool(self._legend), + ) + ) + elif plot_type == "stackplot": + kwargs = line["kwargs"] + x_values = tx(line["x"]) + cumulative = np.zeros(len(x_values)) + for index, values in enumerate(line["ys"]): + next_cumulative = cumulative + np.asarray(values) + traces.append( + go.Scatter( + x=x_values, + y=ty(next_cumulative), + mode="lines", + stackgroup="one", + name=(kwargs.get("labels", [])[index] if index < len(kwargs.get("labels", [])) else ""), + showlegend=bool(self._legend), + ) + ) + cumulative = next_cumulative + elif plot_type == "boxplot": + kwargs = line["kwargs"] + datasets = line["x"] if isinstance(line["x"], (list, tuple)) else [line["x"]] + for index, values in enumerate(datasets): + showfliers = kwargs.get("showfliers", True) + boxpoints = "outliers" if showfliers else False + traces.append( + go.Box( + y=values, + name=str(index), + boxpoints=boxpoints, + showlegend=False, + ) + ) + elif plot_type == "violinplot": + dataset = line["dataset"] + datasets = dataset if isinstance(dataset, (list, tuple)) else [dataset] + for index, values in enumerate(datasets): + traces.append( + go.Violin(y=values, name=str(index), showlegend=False) + ) + elif plot_type == "eventplot": + positions = line["positions"] + for row_index, row_positions in enumerate(np.atleast_1d(positions)): + for position in np.atleast_1d(row_positions): + shapes.append( + dict( + type="line", + x0=txs(position), + x1=txs(position), + y0=row_index, + y1=row_index + 0.8, + line=dict(color="black"), + ) + ) elif plot_type == "gantt": kwargs = line["kwargs"] tasks = line["tasks"] @@ -1023,6 +1452,32 @@ def plotly_color(value): showlegend=bool(kwargs.get("label")) and bool(self._legend), ) traces.append(fill_trace) + elif plot_type == "fill_betweenx": + kwargs = line["kwargs"] + y = ty(line["y"]) + x1 = line["x1"] + x2 = line["x2"] + if np.isscalar(x1): + x1 = np.full_like(y, float(txs(x1)), dtype=float) + else: + x1 = tx(x1) + if np.isscalar(x2): + x2 = np.full_like(y, float(txs(x2)), dtype=float) + else: + x2 = tx(x2) + color = plotly_color(kwargs.get("color", kwargs.get("facecolor", None))) + traces.append( + go.Scatter( + x=np.concatenate([x1, x2[::-1]]), + y=np.concatenate([y, y[::-1]]), + fill="toself", + fillcolor=color, + opacity=kwargs.get("alpha", 0.3), + line=dict(color="rgba(0,0,0,0)"), + name=kwargs.get("label", ""), + showlegend=bool(kwargs.get("label")) and bool(self._legend), + ) + ) elif plot_type == "errorbar": kwargs = line["kwargs"] marker = kwargs.get("marker") @@ -1128,6 +1583,74 @@ def plotly_color(value): line=dict(color=color, dash=dash, width=width), ) ) + elif plot_type in ("axvspan", "axhspan"): + kwargs = line["kwargs"] + color = plotly_color( + kwargs.get("color", kwargs.get("facecolor", None)) + ) + span_shape = dict( + type="rect", + fillcolor=color, + opacity=kwargs.get("alpha", 0.3), + line=dict(width=0), + ) + if plot_type == "axvspan": + span_shape.update( + x0=txs(line["xmin"]), + x1=txs(line["xmax"]), + y0=0, + y1=1, + yref="paper", + ) + else: + span_shape.update( + x0=0, + x1=1, + xref="paper", + y0=tys(line["ymin"]), + y1=tys(line["ymax"]), + ) + shapes.append(span_shape) + elif plot_type == "arrow": + kwargs = line["kwargs"] + annotations.append( + dict( + x=txs(line["x"] + line["dx"]), + y=tys(line["y"] + line["dy"]), + ax=txs(line["x"]), + ay=tys(line["y"]), + xref="x", + yref="y", + axref="x", + ayref="y", + text="", + showarrow=True, + arrowhead=kwargs.get("arrowhead", 2), + arrowcolor=plotly_color(kwargs.get("color", "black")), + ) + ) + elif plot_type == "axline": + kwargs = line["kwargs"] + if line["xy2"] is None and line["slope"] is None: + raise ValueError("axline requires xy2 or slope") + if line["xy2"] is not None: + x0, y0 = line["xy1"] + x1, y1 = line["xy2"] + slope = (y1 - y0) / (x1 - x0) + else: + x0, y0 = line["xy1"] + slope = line["slope"] + shapes.append( + dict( + type="line", + x0=0, + x1=1, + xref="paper", + y0=tys(y0 - slope * x0), + y1=tys(y0 + slope * (1 - x0)), + line=dict(color=plotly_color(kwargs.get("color", "black"))), + ) + ) elif plot_type in ("text", "annotate"): kwargs = line["kwargs"] if plot_type == "text": diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index 4e8a06c..696e122 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -472,6 +472,117 @@ def test_axis_label_and_tick_settings_are_forwarded_to_matplotlib(): plt.close(fig) +def test_common_axis_and_figure_controls_are_forwarded_to_matplotlib(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.plot([1, 2, 3], [1, 4, 9]) + canvas.set_facecolor("whitesmoke") + canvas.set_axisbelow(True) + canvas.margins(x=0.2, y=0.1) + canvas.invert_yaxis() + canvas.minorticks_on() + canvas.set_axis_on() + canvas.supxlabel("Shared time", fontsize=11) + canvas.supylabel("Shared value", fontsize=11) + canvas.subplots_adjust(left=0.2) + + fig, axes = canvas.plot() + matplotlib_axis = axes[0][0] + assert matplotlib_axis.get_facecolor() == (0.9607843137254902,) * 3 + (1.0,) + assert matplotlib_axis.get_axisbelow() is True + assert matplotlib_axis.yaxis_inverted() + assert matplotlib_axis.xaxis.get_minorticklocs().size > 0 + assert fig._supxlabel.get_text() == "Shared time" + assert fig._supylabel.get_text() == "Shared value" + plt.close(fig) + + +def test_twinx_renders_a_secondary_matplotlib_y_axis(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, primary = Canvas.subplots() + secondary = canvas.twinx() + primary.plot([0, 1, 2], [0, 1, 2], color="tab:blue", label="temperature") + secondary.plot([0, 1, 2], [10, 20, 30], color="tab:red", label="pressure") + primary.set_ylabel("Temperature", color="tab:blue") + secondary.set_ylabel("Pressure", color="tab:red") + + fig, axes = canvas.plot() + twin_axis = canvas.twinx_axes[(0, 0)] + + assert twin_axis is not axes[0][0] + assert twin_axis.get_ylabel() == "Pressure" + assert axes[0][0].get_ylabel() == "Temperature" + assert len(twin_axis.lines) == 1 + plt.close(fig) + + +def test_common_matplotlib_plot_primitives_are_supported(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.barh([0, 1], [2, 3], color="steelblue") + axis.hist([0, 1, 1, 2, 2, 2], bins=3, alpha=0.5) + axis.fill_betweenx([0, 1, 2], 0.5, [1, 1.5, 2], alpha=0.2) + axis.axvspan(0.25, 0.75, alpha=0.1) + axis.axhspan(0.5, 1.5, alpha=0.1) + axis.arrow(0, 0, 1, 1, length_includes_head=True) + axis.axline((0, 0), slope=1, linestyle="--") + + fig, axes = canvas.plot() + matplotlib_axis = axes[0][0] + assert len(matplotlib_axis.patches) > 0 + assert len(matplotlib_axis.lines) > 0 + plt.close(fig) + + +def test_additional_matplotlib_plot_primitives_are_supported(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.step([0, 1, 2], [1, 3, 2], color="black") + axis.stairs([1, 2, 1], edges=[0, 1, 2, 3], color="purple") + axis.broken_barh([(0, 1), (1.5, 0.5)], (0, 0.4), color="orange") + axis.bar([0, 1], [2, 3]) + axis.bar_label(fmt="%d") + + fig, axes = canvas.plot() + matplotlib_axis = axes[0][0] + assert len(matplotlib_axis.containers) >= 1 + assert len(matplotlib_axis.lines) >= 1 + assert len(matplotlib_axis.patches) >= 2 + assert len(matplotlib_axis.texts) >= 2 + plt.close(fig) + + +def test_statistical_and_event_plot_primitives_are_supported(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.stem([0, 1, 2], [1, 3, 2]) + axis.stackplot([0, 1, 2], [1, 2, 1], [2, 1, 2]) + axis.boxplot([[1, 2, 3], [2, 4, 5]]) + axis.violinplot([[1, 2, 3], [2, 4, 5]]) + axis.eventplot([[0.2, 0.5], [1.0, 1.5]]) + + fig, axes = canvas.plot() + matplotlib_axis = axes[0][0] + assert len(matplotlib_axis.lines) > 0 + assert len(matplotlib_axis.collections) > 0 + plt.close(fig) + + def test_matplotlib_postprocess_can_customize_figure_and_axes(): from matplotlib.colors import to_rgba import matplotlib.pyplot as plt diff --git a/src/maxplotlib/tests/test_plotly_backend.py b/src/maxplotlib/tests/test_plotly_backend.py index 2d18c4a..fbead50 100644 --- a/src/maxplotlib/tests/test_plotly_backend.py +++ b/src/maxplotlib/tests/test_plotly_backend.py @@ -40,6 +40,71 @@ def test_plotly_backend_supports_tick_label_rotation(): assert fig.layout.xaxis.tickangle == 45 +def test_plotly_backend_supports_twinx(): + from maxplotlib import Canvas + + canvas, primary = Canvas.subplots() + secondary = canvas.twinx() + primary.plot([0, 1], [0, 1], color="blue") + secondary.plot([0, 1], [10, 20], color="red") + secondary.set_ylabel("Secondary") + + fig = canvas.plot(backend="plotly") + + assert len(fig.data) == 2 + assert fig.layout.yaxis2.title.text == "Secondary" + + +def test_plotly_backend_supports_common_added_primitives(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.barh([0, 1], [2, 3]) + axis.hist([0, 1, 1, 2], bins=3) + axis.fill_betweenx([0, 1], 0, 1, alpha=0.2) + axis.axvspan(0.25, 0.75, alpha=0.1) + axis.axhspan(0.25, 0.75, alpha=0.1) + axis.arrow(0, 0, 1, 1) + + fig = canvas.plot(backend="plotly") + + assert len(fig.data) >= 3 + assert len(fig.layout.shapes) >= 2 + assert any(annotation.showarrow for annotation in fig.layout.annotations) + + +def test_plotly_backend_supports_step_stairs_broken_barh_and_pie(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.step([0, 1, 2], [1, 3, 2]) + axis.stairs([1, 2], edges=[0, 1, 2]) + axis.broken_barh([(0, 1), (2, 0.5)], (0, 0.5)) + axis.pie([2, 3, 4], labels=["A", "B", "C"]) + + fig = canvas.plot(backend="plotly") + + assert any(trace.type == "pie" for trace in fig.data) + assert len(fig.data) >= 5 + + +def test_plotly_backend_supports_statistical_and_event_plots(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.stem([0, 1, 2], [1, 3, 2]) + axis.stackplot([0, 1, 2], [1, 2, 1], [2, 1, 2]) + axis.boxplot([[1, 2, 3], [2, 4, 5]]) + axis.violinplot([[1, 2, 3], [2, 4, 5]]) + axis.eventplot([[0.2, 0.5], [1.0, 1.5]]) + + fig = canvas.plot(backend="plotly") + + assert any(trace.type == "box" for trace in fig.data) + assert any(trace.type == "violin" for trace in fig.data) + assert len(fig.layout.shapes) >= 4 + + def test_plotly_backend_respects_layers(): from maxplotlib import Canvas diff --git a/tutorials/tutorial_13_advanced_matplotlib.ipynb b/tutorials/tutorial_13_advanced_matplotlib.ipynb new file mode 100644 index 0000000..a646626 --- /dev/null +++ b/tutorials/tutorial_13_advanced_matplotlib.ipynb @@ -0,0 +1,221 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": {}, + "source": [ + "# Tutorial 13 – Advanced Matplotlib Plotting\n", + "\n", + "# Advanced Matplotlib plotting\n", + "\n", + "This tutorial covers horizontal bars, histograms, filled regions,\n", + "reference spans, arrows, infinitely extending lines, and secondary\n", + "y-axes." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from maxplotlib import Canvas\n", + "\n", + "x = np.linspace(0, 2 * np.pi, 200)" + ] + }, + { + "cell_type": "markdown", + "id": "2", + "metadata": {}, + "source": [ + "## Common plotting primitives" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots(width=\"12cm\", ratio=0.65)\n", + "ax.barh([0, 1, 2], [2, 4, 3], color=\"steelblue\", alpha=0.8)\n", + "ax.set_yticks([0, 1, 2], labels=[\"A\", \"B\", \"C\"])\n", + "ax.set_xlabel(\"Amount\")\n", + "ax.set_title(\"Horizontal bars\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4", + "metadata": {}, + "outputs": [], + "source": [ + "samples = np.random.default_rng(4).normal(size=1000)\n", + "canvas, ax = Canvas.subplots()\n", + "ax.hist(samples, bins=30, color=\"slateblue\", alpha=0.75)\n", + "ax.set_xlabel(\"Value\")\n", + "ax.set_ylabel(\"Count\")\n", + "ax.set_title(\"Distribution\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "5", + "metadata": {}, + "source": [ + "## Steps, stairs, broken bars, and pie charts" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "6", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.step([0, 1, 2, 3], [1, 3, 2, 4], where=\"mid\", label=\"step\")\n", + "ax.stairs([1, 2, 1], edges=[0, 1, 2, 3], color=\"purple\", label=\"stairs\")\n", + "ax.set_title(\"Discrete data\")\n", + "ax.set_legend(True)\n", + "canvas.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.broken_barh([(0, 1), (1.5, 0.75), (2.75, 1.0)], (0, 0.6), color=\"orange\")\n", + "ax.set_xlabel(\"Intervals\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.pie([30, 45, 25], labels=[\"A\", \"B\", \"C\"], autopct=\"%1.0f%%\")\n", + "ax.set_title(\"Shares\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "9", + "metadata": {}, + "source": [ + "## Regions, arrows, and reference lines" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "10", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.plot(x, np.sin(x), color=\"black\")\n", + "ax.fill_betweenx([-1, 0, 1], 0.5, [1.0, 1.5, 2.0], alpha=0.2)\n", + "ax.axvspan(1.0, 2.0, color=\"orange\", alpha=0.2)\n", + "ax.axhspan(-0.25, 0.25, color=\"steelblue\", alpha=0.15)\n", + "ax.arrow(2.0, np.sin(2.0), 0.5, 0.3, length_includes_head=True)\n", + "ax.axline((0, 0), slope=0.2, linestyle=\"--\", color=\"crimson\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "11", + "metadata": {}, + "source": [ + "## Secondary y-axis" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "12", + "metadata": {}, + "outputs": [], + "source": [ + "twin_canvas, primary = Canvas.subplots()\n", + "secondary = twin_canvas.twinx()\n", + "\n", + "primary.plot(x, np.sin(x), color=\"tab:blue\")\n", + "secondary.plot(x, 100 * np.cos(x), color=\"tab:red\")\n", + "primary.set_xlabel(\"Time\")\n", + "primary.set_ylabel(\"sin(x)\", color=\"tab:blue\")\n", + "secondary.set_ylabel(\"100 cos(x)\", color=\"tab:red\")\n", + "twin_canvas.set_title(\"Two scales sharing one x-axis\")\n", + "twin_canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "13", + "metadata": {}, + "source": [ + "Secondary y-axes are supported by the Matplotlib and Plotly backends.\n", + "The plotext and TikZ backends currently reject a canvas containing\n", + "`twinx()` plots instead of silently producing an incorrect figure.\n", + "\n", + "## Statistical and event plots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "14", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.stem([0, 1, 2], [1, 3, 2])\n", + "ax.stackplot([0, 1, 2], [1, 2, 1], [2, 1, 2], alpha=0.4)\n", + "ax.set_title(\"Discrete and stacked data\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "15", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.boxplot([[1, 2, 3], [2, 4, 5]])\n", + "ax.violinplot([[1, 2, 3], [2, 4, 5]])\n", + "ax.eventplot([[0.2, 0.5], [1.0, 1.5]])\n", + "canvas.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3", + "path": "/Library/Frameworks/Python.framework/Versions/3.13/share/jupyter/kernels/python3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/tutorials/tutorial_13_advanced_matplotlib.qmd b/tutorials/tutorial_13_advanced_matplotlib.qmd new file mode 100644 index 0000000..916a249 --- /dev/null +++ b/tutorials/tutorial_13_advanced_matplotlib.qmd @@ -0,0 +1,113 @@ +--- +title: "Tutorial 13 – Advanced Matplotlib Plotting" +format: html +jupyter: python3 +--- + +# Advanced Matplotlib plotting + +This tutorial covers horizontal bars, histograms, filled regions, reference +spans, arrows, infinitely extending lines, and secondary y-axes. + +```{python} +import numpy as np +from maxplotlib import Canvas + +x = np.linspace(0, 2 * np.pi, 200) +``` + +## Common plotting primitives + +```{python} +canvas, ax = Canvas.subplots(width="12cm", ratio=0.65) +ax.barh([0, 1, 2], [2, 4, 3], color="steelblue", alpha=0.8) +ax.set_yticks([0, 1, 2], labels=["A", "B", "C"]) +ax.set_xlabel("Amount") +ax.set_title("Horizontal bars") +canvas.show() +``` + +```{python} +samples = np.random.default_rng(4).normal(size=1000) +canvas, ax = Canvas.subplots() +ax.hist(samples, bins=30, color="slateblue", alpha=0.75) +ax.set_xlabel("Value") +ax.set_ylabel("Count") +ax.set_title("Distribution") +canvas.show() +``` + +## Steps, stairs, broken bars, and pie charts + +```{python} +canvas, ax = Canvas.subplots() +ax.step([0, 1, 2, 3], [1, 3, 2, 4], where="mid", label="step") +ax.stairs([1, 2, 1], edges=[0, 1, 2, 3], color="purple", label="stairs") +ax.set_title("Discrete data") +ax.set_legend(True) +canvas.show() +``` + +```{python} +canvas, ax = Canvas.subplots() +ax.broken_barh([(0, 1), (1.5, 0.75), (2.75, 1.0)], (0, 0.6), color="orange") +ax.set_xlabel("Intervals") +canvas.show() +``` + +```{python} +canvas, ax = Canvas.subplots() +ax.pie([30, 45, 25], labels=["A", "B", "C"], autopct="%1.0f%%") +ax.set_title("Shares") +canvas.show() +``` + +## Regions, arrows, and reference lines + +```{python} +canvas, ax = Canvas.subplots() +ax.plot(x, np.sin(x), color="black") +ax.fill_betweenx([-1, 0, 1], 0.5, [1.0, 1.5, 2.0], alpha=0.2) +ax.axvspan(1.0, 2.0, color="orange", alpha=0.2) +ax.axhspan(-0.25, 0.25, color="steelblue", alpha=0.15) +ax.arrow(2.0, np.sin(2.0), 0.5, 0.3, length_includes_head=True) +ax.axline((0, 0), slope=0.2, linestyle="--", color="crimson") +canvas.show() +``` + +## Secondary y-axis + +```{python} +twin_canvas, primary = Canvas.subplots() +secondary = twin_canvas.twinx() + +primary.plot(x, np.sin(x), color="tab:blue") +secondary.plot(x, 100 * np.cos(x), color="tab:red") +primary.set_xlabel("Time") +primary.set_ylabel("sin(x)", color="tab:blue") +secondary.set_ylabel("100 cos(x)", color="tab:red") +twin_canvas.set_title("Two scales sharing one x-axis") +twin_canvas.show() +``` + +Secondary y-axes are supported by the Matplotlib and Plotly backends. The +plotext and TikZ backends currently reject a canvas containing `twinx()` plots +instead of silently producing an incorrect figure. + +## Statistical and event plots + +```{python} +canvas, ax = Canvas.subplots() +ax.stem([0, 1, 2], [1, 3, 2]) +ax.stackplot([0, 1, 2], [1, 2, 1], [2, 1, 2], alpha=0.4) +ax.set_title("Discrete and stacked data") +canvas.show() +``` + +```{python} +canvas, ax = Canvas.subplots() +ax.boxplot([[1, 2, 3], [2, 4, 5]]) +ax.violinplot([[1, 2, 3], [2, 4, 5]]) +ax.eventplot([[0.2, 0.5], [1.0, 1.5]]) +canvas.show() +``` From ccc3f6d28502187ecc3c3e4e2451121ab56be93c Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 22 Aug 2026 00:27:15 +0200 Subject: [PATCH 07/14] Continue wrapping --- src/maxplotlib/canvas/canvas.py | 138 ++++++++++++++ src/maxplotlib/subfigure/line_plot.py | 168 ++++++++++++++++++ src/maxplotlib/tests/test_canvas.py | 50 ++++++ src/maxplotlib/tests/test_plotly_backend.py | 24 +++ .../tutorial_13_advanced_matplotlib.ipynb | 81 ++++++++- tutorials/tutorial_13_advanced_matplotlib.qmd | 113 ------------ 6 files changed, 459 insertions(+), 115 deletions(-) delete mode 100644 tutorials/tutorial_13_advanced_matplotlib.qmd diff --git a/src/maxplotlib/canvas/canvas.py b/src/maxplotlib/canvas/canvas.py index 36c3540..2e6a86c 100644 --- a/src/maxplotlib/canvas/canvas.py +++ b/src/maxplotlib/canvas/canvas.py @@ -609,6 +609,144 @@ def eventplot( positions, layer=layer, **kwargs ) + def contour( + self, + x, + y, + z, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add contour lines to a subplot.""" + self._get_or_create_subplot(row, col).contour(x, y, z, layer=layer, **kwargs) + + def contourf( + self, + x, + y, + z, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add filled contours to a subplot.""" + self._get_or_create_subplot(row, col).contourf(x, y, z, layer=layer, **kwargs) + + def pcolormesh( + self, + x, + y, + z, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add a pseudocolor mesh to a subplot.""" + self._get_or_create_subplot(row, col).pcolormesh( + x, y, z, layer=layer, **kwargs + ) + + def hexbin( + self, + x, + y, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add a hexagonal density plot to a subplot.""" + self._get_or_create_subplot(row, col).hexbin(x, y, layer=layer, **kwargs) + + def matshow( + self, data, layer=0, row: int | None = None, col: int | None = None, **kwargs + ): + """Display a matrix with matrix-oriented axes.""" + self._get_or_create_subplot(row, col).matshow(data, layer=layer, **kwargs) + + def quiver( + self, + x, + y, + u, + v, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add a vector field to a subplot.""" + self._get_or_create_subplot(row, col).quiver( + x, y, u, v, layer=layer, **kwargs + ) + + def triplot( + self, + x, + y, + triangles=None, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add an unstructured triangular grid to a subplot.""" + self._get_or_create_subplot(row, col).triplot( + x, y, triangles=triangles, layer=layer, **kwargs + ) + + def tripcolor( + self, + x, + y, + c, + triangles=None, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add colored unstructured triangles to a subplot.""" + self._get_or_create_subplot(row, col).tripcolor( + x, y, c, triangles=triangles, layer=layer, **kwargs + ) + + def tricontour( + self, + x, + y, + z, + triangles=None, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add unstructured contour lines to a subplot.""" + self._get_or_create_subplot(row, col).tricontour( + x, y, z, triangles=triangles, layer=layer, **kwargs + ) + + def tricontourf( + self, + x, + y, + z, + triangles=None, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add filled unstructured contours to a subplot.""" + self._get_or_create_subplot(row, col).tricontourf( + x, y, z, triangles=triangles, layer=layer, **kwargs + ) + def gantt( self, tasks, diff --git a/src/maxplotlib/subfigure/line_plot.py b/src/maxplotlib/subfigure/line_plot.py index 0d29d60..f7088d1 100644 --- a/src/maxplotlib/subfigure/line_plot.py +++ b/src/maxplotlib/subfigure/line_plot.py @@ -294,6 +294,76 @@ def eventplot(self, positions, layer=0, **kwargs): layer, ) + def contour(self, x, y, z, layer=0, **kwargs): + """Add contour lines for a 2D scalar field.""" + self._add( + {"x": x, "y": y, "z": np.asarray(z), "layer": layer, "plot_type": "contour", "kwargs": kwargs}, + layer, + ) + + def contourf(self, x, y, z, layer=0, **kwargs): + """Add filled contours for a 2D scalar field.""" + self._add( + {"x": x, "y": y, "z": np.asarray(z), "layer": layer, "plot_type": "contourf", "kwargs": kwargs}, + layer, + ) + + def pcolormesh(self, x, y, z, layer=0, **kwargs): + """Add a pseudocolor mesh.""" + self._add( + {"x": x, "y": y, "z": np.asarray(z), "layer": layer, "plot_type": "pcolormesh", "kwargs": kwargs}, + layer, + ) + + def hexbin(self, x, y, layer=0, **kwargs): + """Add a hexagonal bin density plot.""" + self._add( + {"x": np.asarray(x), "y": np.asarray(y), "layer": layer, "plot_type": "hexbin", "kwargs": kwargs}, + layer, + ) + + def matshow(self, data, layer=0, **kwargs): + """Display a matrix with matrix-oriented axes.""" + self._add( + {"data": np.asarray(data), "layer": layer, "plot_type": "matshow", "kwargs": kwargs}, + layer, + ) + + def quiver(self, x, y, u, v, layer=0, **kwargs): + """Add a vector field.""" + self._add( + {"x": x, "y": y, "u": u, "v": v, "layer": layer, "plot_type": "quiver", "kwargs": kwargs}, + layer, + ) + + def triplot(self, x, y, triangles=None, layer=0, **kwargs): + """Add an unstructured triangular grid.""" + self._add( + {"x": x, "y": y, "triangles": triangles, "layer": layer, "plot_type": "triplot", "kwargs": kwargs}, + layer, + ) + + def tripcolor(self, x, y, c, triangles=None, layer=0, **kwargs): + """Add a colored unstructured triangular grid.""" + self._add( + {"x": x, "y": y, "c": c, "triangles": triangles, "layer": layer, "plot_type": "tripcolor", "kwargs": kwargs}, + layer, + ) + + def tricontour(self, x, y, z, triangles=None, layer=0, **kwargs): + """Add contour lines on an unstructured triangular grid.""" + self._add( + {"x": x, "y": y, "z": z, "triangles": triangles, "layer": layer, "plot_type": "tricontour", "kwargs": kwargs}, + layer, + ) + + def tricontourf(self, x, y, z, triangles=None, layer=0, **kwargs): + """Add filled contours on an unstructured triangular grid.""" + self._add( + {"x": x, "y": y, "z": z, "triangles": triangles, "layer": layer, "plot_type": "tricontourf", "kwargs": kwargs}, + layer, + ) + def gantt(self, tasks, start_times, durations, layer=0, **kwargs): """ Add a Gantt chart to the subplot. @@ -753,6 +823,46 @@ def plot_matplotlib( ax.violinplot(line["dataset"], **line["kwargs"]) elif line["plot_type"] == "eventplot": ax.eventplot(line["positions"], **line["kwargs"]) + elif line["plot_type"] == "contour": + ax.contour(line["x"], line["y"], line["z"], **line["kwargs"]) + elif line["plot_type"] == "contourf": + ax.contourf(line["x"], line["y"], line["z"], **line["kwargs"]) + elif line["plot_type"] == "pcolormesh": + ax.pcolormesh(line["x"], line["y"], line["z"], **line["kwargs"]) + elif line["plot_type"] == "hexbin": + ax.hexbin(line["x"], line["y"], **line["kwargs"]) + elif line["plot_type"] == "matshow": + ax.matshow(line["data"], **line["kwargs"]) + elif line["plot_type"] == "quiver": + ax.quiver(line["x"], line["y"], line["u"], line["v"], **line["kwargs"]) + elif line["plot_type"] == "triplot": + import matplotlib.tri as mtri + + triangulation = mtri.Triangulation( + line["x"], line["y"], triangles=line["triangles"] + ) + ax.triplot(triangulation, **line["kwargs"]) + elif line["plot_type"] == "tripcolor": + import matplotlib.tri as mtri + + triangulation = mtri.Triangulation( + line["x"], line["y"], triangles=line["triangles"] + ) + ax.tripcolor(triangulation, line["c"], **line["kwargs"]) + elif line["plot_type"] == "tricontour": + import matplotlib.tri as mtri + + triangulation = mtri.Triangulation( + line["x"], line["y"], triangles=line["triangles"] + ) + ax.tricontour(triangulation, line["z"], **line["kwargs"]) + elif line["plot_type"] == "tricontourf": + import matplotlib.tri as mtri + + triangulation = mtri.Triangulation( + line["x"], line["y"], triangles=line["triangles"] + ) + ax.tricontourf(triangulation, line["z"], **line["kwargs"]) elif line["plot_type"] == "gantt": tasks = line["tasks"] start_times = (line["start_times"] + self._xshift) * self._xscale @@ -1345,6 +1455,64 @@ def plotly_color(value): line=dict(color="black"), ) ) + elif plot_type == "contour": + kwargs = line["kwargs"] + traces.append( + go.Contour( + x=line["x"], + y=line["y"], + z=line["z"], + contours=dict(coloring="lines"), + colorscale=kwargs.get("cmap", "Viridis"), + showscale=kwargs.get("colorbar", True), + ) + ) + elif plot_type == "contourf": + kwargs = line["kwargs"] + traces.append( + go.Contour( + x=line["x"], + y=line["y"], + z=line["z"], + colorscale=kwargs.get("cmap", "Viridis"), + showscale=kwargs.get("colorbar", True), + ) + ) + elif plot_type == "pcolormesh": + kwargs = line["kwargs"] + traces.append( + go.Heatmap( + x=line["x"], + y=line["y"], + z=line["z"], + colorscale=kwargs.get("cmap", "Viridis"), + showscale=kwargs.get("colorbar", True), + ) + ) + elif plot_type == "hexbin": + kwargs = line["kwargs"] + traces.append( + go.Histogram2d( + x=tx(line["x"]), + y=ty(line["y"]), + nbinsx=kwargs.get("gridsize", 30) + if np.isscalar(kwargs.get("gridsize", 30)) + else 30, + nbinsy=kwargs.get("gridsize", 30) + if np.isscalar(kwargs.get("gridsize", 30)) + else 30, + colorscale=kwargs.get("cmap", "Viridis"), + ) + ) + elif plot_type == "matshow": + kwargs = line["kwargs"] + traces.append( + go.Heatmap( + z=line["data"], + colorscale=kwargs.get("cmap", "Viridis"), + showscale=kwargs.get("colorbar", True), + ) + ) elif plot_type == "gantt": kwargs = line["kwargs"] tasks = line["tasks"] diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index 696e122..223c121 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -583,6 +583,56 @@ def test_statistical_and_event_plot_primitives_are_supported(): plt.close(fig) +def test_scientific_field_plot_primitives_are_supported(): + import matplotlib.pyplot as plt + import numpy as np + + from maxplotlib import Canvas + + x = np.linspace(-1, 1, 8) + y = np.linspace(-1, 1, 8) + xx, yy = np.meshgrid(x, y) + z = xx**2 + yy**2 + + canvas, axis = Canvas.subplots() + axis.contour(x, y, z) + axis.contourf(x, y, z, alpha=0.4) + axis.pcolormesh(x, y, z) + axis.hexbin(np.ravel(xx), np.ravel(yy), gridsize=8) + axis.matshow(z) + + fig, axes = canvas.plot() + matplotlib_axis = axes[0][0] + assert len(matplotlib_axis.collections) > 0 + assert len(matplotlib_axis.images) > 0 + plt.close(fig) + + +def test_vector_and_triangulated_plot_primitives_are_supported(): + import matplotlib.pyplot as plt + import numpy as np + + from maxplotlib import Canvas + + x = np.array([0.0, 1.0, 0.0, 1.0]) + y = np.array([0.0, 0.0, 1.0, 1.0]) + triangles = [[0, 1, 2], [1, 3, 2]] + z = x + y + + canvas, axis = Canvas.subplots() + axis.quiver(x, y, np.ones(4), np.ones(4)) + axis.triplot(x, y, triangles=triangles) + axis.tripcolor(x, y, z, triangles=triangles, alpha=0.3) + axis.tricontour(x, y, z, triangles=triangles) + axis.tricontourf(x, y, z, triangles=triangles, alpha=0.2) + + fig, axes = canvas.plot() + matplotlib_axis = axes[0][0] + assert len(matplotlib_axis.collections) > 0 + assert len(matplotlib_axis.lines) > 0 + plt.close(fig) + + def test_matplotlib_postprocess_can_customize_figure_and_axes(): from matplotlib.colors import to_rgba import matplotlib.pyplot as plt diff --git a/src/maxplotlib/tests/test_plotly_backend.py b/src/maxplotlib/tests/test_plotly_backend.py index fbead50..ff43fe1 100644 --- a/src/maxplotlib/tests/test_plotly_backend.py +++ b/src/maxplotlib/tests/test_plotly_backend.py @@ -105,6 +105,30 @@ def test_plotly_backend_supports_statistical_and_event_plots(): assert len(fig.layout.shapes) >= 4 +def test_plotly_backend_supports_scientific_field_plots(): + import numpy as np + + from maxplotlib import Canvas + + x = np.linspace(-1, 1, 5) + y = np.linspace(-1, 1, 5) + xx, yy = np.meshgrid(x, y) + z = xx**2 + yy**2 + + canvas, axis = Canvas.subplots() + axis.contour(x, y, z) + axis.contourf(x, y, z) + axis.pcolormesh(x, y, z) + axis.hexbin(xx.ravel(), yy.ravel(), gridsize=5) + axis.matshow(z) + + fig = canvas.plot(backend="plotly") + + assert any(trace.type == "contour" for trace in fig.data) + assert any(trace.type == "heatmap" for trace in fig.data) + assert any(trace.type == "histogram2d" for trace in fig.data) + + def test_plotly_backend_respects_layers(): from maxplotlib import Canvas diff --git a/tutorials/tutorial_13_advanced_matplotlib.ipynb b/tutorials/tutorial_13_advanced_matplotlib.ipynb index a646626..580a319 100644 --- a/tutorials/tutorial_13_advanced_matplotlib.ipynb +++ b/tutorials/tutorial_13_advanced_matplotlib.ipynb @@ -176,7 +176,7 @@ "The plotext and TikZ backends currently reject a canvas containing\n", "`twinx()` plots instead of silently producing an incorrect figure.\n", "\n", - "## Statistical and event plots" + "## Scientific field plots" ] }, { @@ -185,6 +185,83 @@ "id": "14", "metadata": {}, "outputs": [], + "source": [ + "x = np.linspace(-1, 1, 40)\n", + "y = np.linspace(-1, 1, 40)\n", + "xx, yy = np.meshgrid(x, y)\n", + "z = xx**2 + yy**2\n", + "\n", + "canvas, ax = Canvas.subplots()\n", + "ax.contour(x, y, z, colors=\"black\")\n", + "ax.contourf(x, y, z, alpha=0.5)\n", + "ax.pcolormesh(x, y, z, alpha=0.25)\n", + "ax.set_title(\"Scalar field\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "15", + "metadata": {}, + "source": [ + "For point-density data and matrix-oriented displays:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "16", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.hexbin(xx.ravel(), yy.ravel(), gridsize=12)\n", + "ax.matshow(z)\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "17", + "metadata": {}, + "source": [ + "Unstructured triangular data and vector fields are also supported:" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "18", + "metadata": {}, + "outputs": [], + "source": [ + "points_x = np.array([0.0, 1.0, 0.0, 1.0])\n", + "points_y = np.array([0.0, 0.0, 1.0, 1.0])\n", + "triangles = [[0, 1, 2], [1, 3, 2]]\n", + "values = points_x + points_y\n", + "\n", + "canvas, ax = Canvas.subplots()\n", + "ax.quiver(points_x, points_y, np.ones(4), np.ones(4))\n", + "ax.triplot(points_x, points_y, triangles=triangles)\n", + "ax.tripcolor(points_x, points_y, values, triangles=triangles, alpha=0.3)\n", + "ax.tricontour(points_x, points_y, values, triangles=triangles)\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "19", + "metadata": {}, + "source": [ + "## Statistical and event plots" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "20", + "metadata": {}, + "outputs": [], "source": [ "canvas, ax = Canvas.subplots()\n", "ax.stem([0, 1, 2], [1, 3, 2])\n", @@ -196,7 +273,7 @@ { "cell_type": "code", "execution_count": null, - "id": "15", + "id": "21", "metadata": {}, "outputs": [], "source": [ diff --git a/tutorials/tutorial_13_advanced_matplotlib.qmd b/tutorials/tutorial_13_advanced_matplotlib.qmd deleted file mode 100644 index 916a249..0000000 --- a/tutorials/tutorial_13_advanced_matplotlib.qmd +++ /dev/null @@ -1,113 +0,0 @@ ---- -title: "Tutorial 13 – Advanced Matplotlib Plotting" -format: html -jupyter: python3 ---- - -# Advanced Matplotlib plotting - -This tutorial covers horizontal bars, histograms, filled regions, reference -spans, arrows, infinitely extending lines, and secondary y-axes. - -```{python} -import numpy as np -from maxplotlib import Canvas - -x = np.linspace(0, 2 * np.pi, 200) -``` - -## Common plotting primitives - -```{python} -canvas, ax = Canvas.subplots(width="12cm", ratio=0.65) -ax.barh([0, 1, 2], [2, 4, 3], color="steelblue", alpha=0.8) -ax.set_yticks([0, 1, 2], labels=["A", "B", "C"]) -ax.set_xlabel("Amount") -ax.set_title("Horizontal bars") -canvas.show() -``` - -```{python} -samples = np.random.default_rng(4).normal(size=1000) -canvas, ax = Canvas.subplots() -ax.hist(samples, bins=30, color="slateblue", alpha=0.75) -ax.set_xlabel("Value") -ax.set_ylabel("Count") -ax.set_title("Distribution") -canvas.show() -``` - -## Steps, stairs, broken bars, and pie charts - -```{python} -canvas, ax = Canvas.subplots() -ax.step([0, 1, 2, 3], [1, 3, 2, 4], where="mid", label="step") -ax.stairs([1, 2, 1], edges=[0, 1, 2, 3], color="purple", label="stairs") -ax.set_title("Discrete data") -ax.set_legend(True) -canvas.show() -``` - -```{python} -canvas, ax = Canvas.subplots() -ax.broken_barh([(0, 1), (1.5, 0.75), (2.75, 1.0)], (0, 0.6), color="orange") -ax.set_xlabel("Intervals") -canvas.show() -``` - -```{python} -canvas, ax = Canvas.subplots() -ax.pie([30, 45, 25], labels=["A", "B", "C"], autopct="%1.0f%%") -ax.set_title("Shares") -canvas.show() -``` - -## Regions, arrows, and reference lines - -```{python} -canvas, ax = Canvas.subplots() -ax.plot(x, np.sin(x), color="black") -ax.fill_betweenx([-1, 0, 1], 0.5, [1.0, 1.5, 2.0], alpha=0.2) -ax.axvspan(1.0, 2.0, color="orange", alpha=0.2) -ax.axhspan(-0.25, 0.25, color="steelblue", alpha=0.15) -ax.arrow(2.0, np.sin(2.0), 0.5, 0.3, length_includes_head=True) -ax.axline((0, 0), slope=0.2, linestyle="--", color="crimson") -canvas.show() -``` - -## Secondary y-axis - -```{python} -twin_canvas, primary = Canvas.subplots() -secondary = twin_canvas.twinx() - -primary.plot(x, np.sin(x), color="tab:blue") -secondary.plot(x, 100 * np.cos(x), color="tab:red") -primary.set_xlabel("Time") -primary.set_ylabel("sin(x)", color="tab:blue") -secondary.set_ylabel("100 cos(x)", color="tab:red") -twin_canvas.set_title("Two scales sharing one x-axis") -twin_canvas.show() -``` - -Secondary y-axes are supported by the Matplotlib and Plotly backends. The -plotext and TikZ backends currently reject a canvas containing `twinx()` plots -instead of silently producing an incorrect figure. - -## Statistical and event plots - -```{python} -canvas, ax = Canvas.subplots() -ax.stem([0, 1, 2], [1, 3, 2]) -ax.stackplot([0, 1, 2], [1, 2, 1], [2, 1, 2], alpha=0.4) -ax.set_title("Discrete and stacked data") -canvas.show() -``` - -```{python} -canvas, ax = Canvas.subplots() -ax.boxplot([[1, 2, 3], [2, 4, 5]]) -ax.violinplot([[1, 2, 3], [2, 4, 5]]) -ax.eventplot([[0.2, 0.5], [1.0, 1.5]]) -canvas.show() -``` From 2cc09671112e23dfa1c673d20620515f649c62c3 Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 22 Aug 2026 00:30:15 +0200 Subject: [PATCH 08/14] streamplot etc --- src/maxplotlib/canvas/canvas.py | 145 ++++++++++--- src/maxplotlib/subfigure/line_plot.py | 289 +++++++++++++++++++++++--- src/maxplotlib/tests/test_canvas.py | 42 +++- 3 files changed, 406 insertions(+), 70 deletions(-) diff --git a/src/maxplotlib/canvas/canvas.py b/src/maxplotlib/canvas/canvas.py index 2e6a86c..512ff4a 100644 --- a/src/maxplotlib/canvas/canvas.py +++ b/src/maxplotlib/canvas/canvas.py @@ -507,13 +507,25 @@ def bar( sp.bar(x, height, layer=layer, **kwargs) def barh( - self, y, width, layer=0, row: int | None = None, col: int | None = None, **kwargs + self, + y, + width, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, ): """Add a horizontal bar chart to a subplot.""" self._get_or_create_subplot(row, col).barh(y, width, layer=layer, **kwargs) def hist( - self, x, bins=10, layer=0, row: int | None = None, col: int | None = None, **kwargs + self, + x, + bins=10, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, ): """Add a histogram to a subplot.""" self._get_or_create_subplot(row, col).hist(x, bins=bins, layer=layer, **kwargs) @@ -553,15 +565,11 @@ def broken_barh( xranges, yrange, layer=layer, **kwargs ) - def pie( - self, x, layer=0, row: int | None = None, col: int | None = None, **kwargs - ): + def pie(self, x, layer=0, row: int | None = None, col: int | None = None, **kwargs): """Add a pie chart to a subplot.""" self._get_or_create_subplot(row, col).pie(x, layer=layer, **kwargs) - def bar_label( - self, row: int | None = None, col: int | None = None, **kwargs - ): + def bar_label(self, row: int | None = None, col: int | None = None, **kwargs): """Add labels to bar containers in the Matplotlib backend.""" self._get_or_create_subplot(row, col).bar_label(**kwargs) @@ -592,9 +600,7 @@ def violinplot( **kwargs, ): """Add a violin plot to a subplot.""" - self._get_or_create_subplot(row, col).violinplot( - dataset, layer=layer, **kwargs - ) + self._get_or_create_subplot(row, col).violinplot(dataset, layer=layer, **kwargs) def eventplot( self, @@ -646,9 +652,7 @@ def pcolormesh( **kwargs, ): """Add a pseudocolor mesh to a subplot.""" - self._get_or_create_subplot(row, col).pcolormesh( - x, y, z, layer=layer, **kwargs - ) + self._get_or_create_subplot(row, col).pcolormesh(x, y, z, layer=layer, **kwargs) def hexbin( self, @@ -680,9 +684,7 @@ def quiver( **kwargs, ): """Add a vector field to a subplot.""" - self._get_or_create_subplot(row, col).quiver( - x, y, u, v, layer=layer, **kwargs - ) + self._get_or_create_subplot(row, col).quiver(x, y, u, v, layer=layer, **kwargs) def triplot( self, @@ -747,6 +749,72 @@ def tricontourf( x, y, z, triangles=triangles, layer=layer, **kwargs ) + def streamplot( + self, + x, + y, + u, + v, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add streamlines for a vector field to a subplot.""" + self._get_or_create_subplot(row, col).streamplot( + x, y, u, v, layer=layer, **kwargs + ) + + def pcolor( + self, + x, + y, + z, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add a pseudocolor plot to a subplot.""" + self._get_or_create_subplot(row, col).pcolor(x, y, z, layer=layer, **kwargs) + + def pcolorfast( + self, + x, + y, + z, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add a fast pseudocolor plot to a subplot.""" + self._get_or_create_subplot(row, col).pcolorfast(x, y, z, layer=layer, **kwargs) + + def spy( + self, + matrix, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Visualize a matrix sparsity pattern in a subplot.""" + self._get_or_create_subplot(row, col).spy(matrix, layer=layer, **kwargs) + + def table( + self, + cellText=None, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, + ): + """Add a table annotation to a subplot.""" + self._get_or_create_subplot(row, col).table( + cellText=cellText, layer=layer, **kwargs + ) + def gantt( self, tasks, @@ -853,9 +921,7 @@ def set_legend( """Show or hide the legend for a subplot (default top-left).""" self._get_or_create_subplot(row, col).set_legend(visible) - def tick_params( - self, row: int | None = None, col: int | None = None, **kwargs - ): + def tick_params(self, row: int | None = None, col: int | None = None, **kwargs): """Configure major/minor tick appearance for a subplot.""" self._get_or_create_subplot(row, col).tick_params(**kwargs) @@ -875,9 +941,7 @@ def set_axis_on(self, row: int | None = None, col: int | None = None): """Show the axis frame, ticks, and labels for a subplot.""" self._get_or_create_subplot(row, col).set_axis_on() - def set_axisbelow( - self, state=True, row: int | None = None, col: int | None = None - ): + def set_axisbelow(self, state=True, row: int | None = None, col: int | None = None): """Set whether gridlines and ticks are drawn below plot data.""" self._get_or_create_subplot(row, col).set_axisbelow(state) @@ -1026,19 +1090,39 @@ def vlines( ) def axvspan( - self, xmin, xmax, layer=0, row: int | None = None, col: int | None = None, **kwargs + self, + xmin, + xmax, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, ): """Add a vertical shaded span across a subplot.""" self._get_or_create_subplot(row, col).axvspan(xmin, xmax, layer=layer, **kwargs) def axhspan( - self, ymin, ymax, layer=0, row: int | None = None, col: int | None = None, **kwargs + self, + ymin, + ymax, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, ): """Add a horizontal shaded span across a subplot.""" self._get_or_create_subplot(row, col).axhspan(ymin, ymax, layer=layer, **kwargs) def arrow( - self, x, y, dx, dy, layer=0, row: int | None = None, col: int | None = None, **kwargs + self, + x, + y, + dx, + dy, + layer=0, + row: int | None = None, + col: int | None = None, + **kwargs, ): """Add an arrow to a subplot.""" self._get_or_create_subplot(row, col).arrow(x, y, dx, dy, layer=layer, **kwargs) @@ -1424,7 +1508,9 @@ def plot( matplotlib_postprocess=matplotlib_postprocess, matplotlib_customizations=matplotlib_customizations, ) - elif matplotlib_postprocess is not None or matplotlib_customizations is not None: + elif ( + matplotlib_postprocess is not None or matplotlib_customizations is not None + ): raise ValueError( "Matplotlib customizations are only supported with the matplotlib backend" ) @@ -1860,10 +1946,7 @@ def plot_plotly( subplot_titles[index] = sp._title or f"({row}, {col})" specs = [ - [ - {"secondary_y": (r, c) in self._twinx_subplots} - for c in range(self.ncols) - ] + [{"secondary_y": (r, c) in self._twinx_subplots} for c in range(self.ncols)] for r in range(self.nrows) ] fig = make_subplots( diff --git a/src/maxplotlib/subfigure/line_plot.py b/src/maxplotlib/subfigure/line_plot.py index f7088d1..bf38c21 100644 --- a/src/maxplotlib/subfigure/line_plot.py +++ b/src/maxplotlib/subfigure/line_plot.py @@ -230,21 +230,40 @@ def hist(self, x, bins=10, layer=0, **kwargs): def step(self, x, y, layer=0, **kwargs): """Add a step plot.""" self._add( - {"x": np.array(x), "y": np.array(y), "layer": layer, "plot_type": "step", "kwargs": kwargs}, + { + "x": np.array(x), + "y": np.array(y), + "layer": layer, + "plot_type": "step", + "kwargs": kwargs, + }, layer, ) def stairs(self, values, edges=None, baseline=0, layer=0, **kwargs): """Add a stairs plot.""" self._add( - {"values": np.array(values), "edges": edges, "baseline": baseline, "layer": layer, "plot_type": "stairs", "kwargs": kwargs}, + { + "values": np.array(values), + "edges": edges, + "baseline": baseline, + "layer": layer, + "plot_type": "stairs", + "kwargs": kwargs, + }, layer, ) def broken_barh(self, xranges, yrange, layer=0, **kwargs): """Add horizontal bars with gaps between x ranges.""" self._add( - {"xranges": list(xranges), "yrange": yrange, "layer": layer, "plot_type": "broken_barh", "kwargs": kwargs}, + { + "xranges": list(xranges), + "yrange": yrange, + "layer": layer, + "plot_type": "broken_barh", + "kwargs": kwargs, + }, layer, ) @@ -262,14 +281,26 @@ def bar_label(self, **kwargs): def stem(self, x, y, layer=0, **kwargs): """Add a stem plot.""" self._add( - {"x": np.array(x), "y": np.array(y), "layer": layer, "plot_type": "stem", "kwargs": kwargs}, + { + "x": np.array(x), + "y": np.array(y), + "layer": layer, + "plot_type": "stem", + "kwargs": kwargs, + }, layer, ) def stackplot(self, x, *ys, layer=0, **kwargs): """Add a stacked area plot.""" self._add( - {"x": np.array(x), "ys": [np.array(y) for y in ys], "layer": layer, "plot_type": "stackplot", "kwargs": kwargs}, + { + "x": np.array(x), + "ys": [np.array(y) for y in ys], + "layer": layer, + "plot_type": "stackplot", + "kwargs": kwargs, + }, layer, ) @@ -283,84 +314,227 @@ def boxplot(self, x, layer=0, **kwargs): def violinplot(self, dataset, layer=0, **kwargs): """Add a violin plot.""" self._add( - {"dataset": dataset, "layer": layer, "plot_type": "violinplot", "kwargs": kwargs}, + { + "dataset": dataset, + "layer": layer, + "plot_type": "violinplot", + "kwargs": kwargs, + }, layer, ) def eventplot(self, positions, layer=0, **kwargs): """Add an event/rug plot.""" self._add( - {"positions": positions, "layer": layer, "plot_type": "eventplot", "kwargs": kwargs}, + { + "positions": positions, + "layer": layer, + "plot_type": "eventplot", + "kwargs": kwargs, + }, layer, ) def contour(self, x, y, z, layer=0, **kwargs): """Add contour lines for a 2D scalar field.""" self._add( - {"x": x, "y": y, "z": np.asarray(z), "layer": layer, "plot_type": "contour", "kwargs": kwargs}, + { + "x": x, + "y": y, + "z": np.asarray(z), + "layer": layer, + "plot_type": "contour", + "kwargs": kwargs, + }, layer, ) def contourf(self, x, y, z, layer=0, **kwargs): """Add filled contours for a 2D scalar field.""" self._add( - {"x": x, "y": y, "z": np.asarray(z), "layer": layer, "plot_type": "contourf", "kwargs": kwargs}, + { + "x": x, + "y": y, + "z": np.asarray(z), + "layer": layer, + "plot_type": "contourf", + "kwargs": kwargs, + }, layer, ) def pcolormesh(self, x, y, z, layer=0, **kwargs): """Add a pseudocolor mesh.""" self._add( - {"x": x, "y": y, "z": np.asarray(z), "layer": layer, "plot_type": "pcolormesh", "kwargs": kwargs}, + { + "x": x, + "y": y, + "z": np.asarray(z), + "layer": layer, + "plot_type": "pcolormesh", + "kwargs": kwargs, + }, layer, ) def hexbin(self, x, y, layer=0, **kwargs): """Add a hexagonal bin density plot.""" self._add( - {"x": np.asarray(x), "y": np.asarray(y), "layer": layer, "plot_type": "hexbin", "kwargs": kwargs}, + { + "x": np.asarray(x), + "y": np.asarray(y), + "layer": layer, + "plot_type": "hexbin", + "kwargs": kwargs, + }, layer, ) def matshow(self, data, layer=0, **kwargs): """Display a matrix with matrix-oriented axes.""" self._add( - {"data": np.asarray(data), "layer": layer, "plot_type": "matshow", "kwargs": kwargs}, + { + "data": np.asarray(data), + "layer": layer, + "plot_type": "matshow", + "kwargs": kwargs, + }, layer, ) def quiver(self, x, y, u, v, layer=0, **kwargs): """Add a vector field.""" self._add( - {"x": x, "y": y, "u": u, "v": v, "layer": layer, "plot_type": "quiver", "kwargs": kwargs}, + { + "x": x, + "y": y, + "u": u, + "v": v, + "layer": layer, + "plot_type": "quiver", + "kwargs": kwargs, + }, layer, ) def triplot(self, x, y, triangles=None, layer=0, **kwargs): """Add an unstructured triangular grid.""" self._add( - {"x": x, "y": y, "triangles": triangles, "layer": layer, "plot_type": "triplot", "kwargs": kwargs}, + { + "x": x, + "y": y, + "triangles": triangles, + "layer": layer, + "plot_type": "triplot", + "kwargs": kwargs, + }, layer, ) def tripcolor(self, x, y, c, triangles=None, layer=0, **kwargs): """Add a colored unstructured triangular grid.""" self._add( - {"x": x, "y": y, "c": c, "triangles": triangles, "layer": layer, "plot_type": "tripcolor", "kwargs": kwargs}, + { + "x": x, + "y": y, + "c": c, + "triangles": triangles, + "layer": layer, + "plot_type": "tripcolor", + "kwargs": kwargs, + }, layer, ) def tricontour(self, x, y, z, triangles=None, layer=0, **kwargs): """Add contour lines on an unstructured triangular grid.""" self._add( - {"x": x, "y": y, "z": z, "triangles": triangles, "layer": layer, "plot_type": "tricontour", "kwargs": kwargs}, + { + "x": x, + "y": y, + "z": z, + "triangles": triangles, + "layer": layer, + "plot_type": "tricontour", + "kwargs": kwargs, + }, layer, ) def tricontourf(self, x, y, z, triangles=None, layer=0, **kwargs): """Add filled contours on an unstructured triangular grid.""" self._add( - {"x": x, "y": y, "z": z, "triangles": triangles, "layer": layer, "plot_type": "tricontourf", "kwargs": kwargs}, + { + "x": x, + "y": y, + "z": z, + "triangles": triangles, + "layer": layer, + "plot_type": "tricontourf", + "kwargs": kwargs, + }, + layer, + ) + + def streamplot(self, x, y, u, v, layer=0, **kwargs): + """Add streamlines for a 2D vector field.""" + self._add( + { + "x": x, + "y": y, + "u": u, + "v": v, + "layer": layer, + "plot_type": "streamplot", + "kwargs": kwargs, + }, + layer, + ) + + def pcolor(self, x, y, z, layer=0, **kwargs): + """Add a pseudocolor plot.""" + self._add( + { + "x": x, + "y": y, + "z": np.asarray(z), + "layer": layer, + "plot_type": "pcolor", + "kwargs": kwargs, + }, + layer, + ) + + def pcolorfast(self, x, y, z, layer=0, **kwargs): + """Add a fast pseudocolor plot.""" + self._add( + { + "x": x, + "y": y, + "z": np.asarray(z), + "layer": layer, + "plot_type": "pcolorfast", + "kwargs": kwargs, + }, + layer, + ) + + def spy(self, matrix, layer=0, **kwargs): + """Visualize the sparsity pattern of a matrix.""" + self._add( + {"matrix": matrix, "layer": layer, "plot_type": "spy", "kwargs": kwargs}, + layer, + ) + + def table(self, cellText=None, layer=0, **kwargs): + """Add a table annotation to the axes.""" + self._add( + { + "cellText": cellText, + "layer": layer, + "plot_type": "table", + "kwargs": kwargs, + }, layer, ) @@ -655,28 +829,55 @@ def vlines(self, x, ymin, ymax, layer=0, **kwargs): def axvspan(self, xmin, xmax, layer=0, **kwargs): """Add a vertical shaded span across the axes.""" self._add( - {"xmin": xmin, "xmax": xmax, "layer": layer, "plot_type": "axvspan", "kwargs": kwargs}, + { + "xmin": xmin, + "xmax": xmax, + "layer": layer, + "plot_type": "axvspan", + "kwargs": kwargs, + }, layer, ) def axhspan(self, ymin, ymax, layer=0, **kwargs): """Add a horizontal shaded span across the axes.""" self._add( - {"ymin": ymin, "ymax": ymax, "layer": layer, "plot_type": "axhspan", "kwargs": kwargs}, + { + "ymin": ymin, + "ymax": ymax, + "layer": layer, + "plot_type": "axhspan", + "kwargs": kwargs, + }, layer, ) def arrow(self, x, y, dx, dy, layer=0, **kwargs): """Add an arrow to the axes.""" self._add( - {"x": x, "y": y, "dx": dx, "dy": dy, "layer": layer, "plot_type": "arrow", "kwargs": kwargs}, + { + "x": x, + "y": y, + "dx": dx, + "dy": dy, + "layer": layer, + "plot_type": "arrow", + "kwargs": kwargs, + }, layer, ) def axline(self, xy1, xy2=None, slope=None, layer=0, **kwargs): """Add an infinitely extending line through one or two points.""" self._add( - {"xy1": xy1, "xy2": xy2, "slope": slope, "layer": layer, "plot_type": "axline", "kwargs": kwargs}, + { + "xy1": xy1, + "xy2": xy2, + "slope": slope, + "layer": layer, + "plot_type": "axline", + "kwargs": kwargs, + }, layer, ) @@ -834,7 +1035,9 @@ def plot_matplotlib( elif line["plot_type"] == "matshow": ax.matshow(line["data"], **line["kwargs"]) elif line["plot_type"] == "quiver": - ax.quiver(line["x"], line["y"], line["u"], line["v"], **line["kwargs"]) + ax.quiver( + line["x"], line["y"], line["u"], line["v"], **line["kwargs"] + ) elif line["plot_type"] == "triplot": import matplotlib.tri as mtri @@ -863,6 +1066,18 @@ def plot_matplotlib( line["x"], line["y"], triangles=line["triangles"] ) ax.tricontourf(triangulation, line["z"], **line["kwargs"]) + elif line["plot_type"] == "streamplot": + ax.streamplot( + line["x"], line["y"], line["u"], line["v"], **line["kwargs"] + ) + elif line["plot_type"] == "pcolor": + ax.pcolor(line["x"], line["y"], line["z"], **line["kwargs"]) + elif line["plot_type"] == "pcolorfast": + ax.pcolorfast(line["x"], line["y"], line["z"], **line["kwargs"]) + elif line["plot_type"] == "spy": + ax.spy(line["matrix"], **line["kwargs"]) + elif line["plot_type"] == "table": + ax.table(cellText=line["cellText"], **line["kwargs"]) elif line["plot_type"] == "gantt": tasks = line["tasks"] start_times = (line["start_times"] + self._xshift) * self._xscale @@ -1415,14 +1630,20 @@ def plotly_color(value): y=ty(next_cumulative), mode="lines", stackgroup="one", - name=(kwargs.get("labels", [])[index] if index < len(kwargs.get("labels", [])) else ""), + name=( + kwargs.get("labels", [])[index] + if index < len(kwargs.get("labels", [])) + else "" + ), showlegend=bool(self._legend), ) ) cumulative = next_cumulative elif plot_type == "boxplot": kwargs = line["kwargs"] - datasets = line["x"] if isinstance(line["x"], (list, tuple)) else [line["x"]] + datasets = ( + line["x"] if isinstance(line["x"], (list, tuple)) else [line["x"]] + ) for index, values in enumerate(datasets): showfliers = kwargs.get("showfliers", True) boxpoints = "outliers" if showfliers else False @@ -1495,12 +1716,16 @@ def plotly_color(value): go.Histogram2d( x=tx(line["x"]), y=ty(line["y"]), - nbinsx=kwargs.get("gridsize", 30) - if np.isscalar(kwargs.get("gridsize", 30)) - else 30, - nbinsy=kwargs.get("gridsize", 30) - if np.isscalar(kwargs.get("gridsize", 30)) - else 30, + nbinsx=( + kwargs.get("gridsize", 30) + if np.isscalar(kwargs.get("gridsize", 30)) + else 30 + ), + nbinsy=( + kwargs.get("gridsize", 30) + if np.isscalar(kwargs.get("gridsize", 30)) + else 30 + ), colorscale=kwargs.get("cmap", "Viridis"), ) ) @@ -1753,9 +1978,7 @@ def plotly_color(value): ) elif plot_type in ("axvspan", "axhspan"): kwargs = line["kwargs"] - color = plotly_color( - kwargs.get("color", kwargs.get("facecolor", None)) - ) + color = plotly_color(kwargs.get("color", kwargs.get("facecolor", None))) span_shape = dict( type="rect", fillcolor=color, diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index 223c121..d1b1d59 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -356,11 +356,12 @@ def test_canvas_show_uses_matplotlib_show(monkeypatch): def test_canvas_show_uses_ipython_display_in_jupyter(monkeypatch): - import matplotlib.pyplot as plt - import pytest import sys import types + import matplotlib.pyplot as plt + import pytest + from maxplotlib import Canvas displayed = [] @@ -387,11 +388,12 @@ def test_canvas_show_uses_ipython_display_in_jupyter(monkeypatch): def test_canvas_show_falls_back_to_pyplot_outside_jupyter(monkeypatch): - import matplotlib.pyplot as plt - import pytest import sys import types + import matplotlib.pyplot as plt + import pytest + from maxplotlib import Canvas calls = [] @@ -633,9 +635,35 @@ def test_vector_and_triangulated_plot_primitives_are_supported(): plt.close(fig) +def test_stream_matrix_and_table_primitives_are_supported(): + import matplotlib.pyplot as plt + import numpy as np + + from maxplotlib import Canvas + + x = np.linspace(-1, 1, 8) + y = np.linspace(-1, 1, 8) + xx, yy = np.meshgrid(x, y) + z = xx**2 + yy**2 + matrix = np.eye(5) + + canvas, axis = Canvas.subplots() + axis.streamplot(x, y, -yy, xx) + axis.pcolor(x, y, z, alpha=0.2) + axis.pcolorfast(np.linspace(-1, 1, 9), np.linspace(-1, 1, 9), z, alpha=0.2) + axis.spy(matrix) + axis.table(cellText=[["A", "B"], ["1", "2"]], loc="upper right") + + fig, axes = canvas.plot() + matplotlib_axis = axes[0][0] + assert len(matplotlib_axis.collections) > 0 + assert len(matplotlib_axis.tables) == 1 + plt.close(fig) + + def test_matplotlib_postprocess_can_customize_figure_and_axes(): - from matplotlib.colors import to_rgba import matplotlib.pyplot as plt + from matplotlib.colors import to_rgba from maxplotlib import Canvas @@ -683,7 +711,9 @@ def test_matplotlib_customizations_apply_declarative_figure_and_axes_methods(): assert fig._suptitle.get_text() == "Customized" assert all(axis.get_facecolor() == to_rgba("lightgray") for axis in axes.flat) - assert all(axis.xaxis.majorTicks[0].tick1line.get_markersize() == 6 for axis in axes.flat) + assert all( + axis.xaxis.majorTicks[0].tick1line.get_markersize() == 6 for axis in axes.flat + ) plt.close(fig) From 2cfb4f097b57b1260702a845e046461327c784aa Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 22 Aug 2026 00:36:04 +0200 Subject: [PATCH 09/14] NotImplementedError for unsupported primitives --- src/maxplotlib/canvas/canvas.py | 16 +++++++++-- src/maxplotlib/subfigure/line_plot.py | 32 ++++++++++++++++++++- src/maxplotlib/tests/test_plotly_backend.py | 30 +++++++++++++++++++ 3 files changed, 74 insertions(+), 4 deletions(-) diff --git a/src/maxplotlib/canvas/canvas.py b/src/maxplotlib/canvas/canvas.py index 512ff4a..bd02b76 100644 --- a/src/maxplotlib/canvas/canvas.py +++ b/src/maxplotlib/canvas/canvas.py @@ -1480,6 +1480,7 @@ def plot( verbose: bool = False, matplotlib_postprocess=None, matplotlib_customizations=None, + allow_unsupported: bool = False, ): """Render the canvas. @@ -1520,6 +1521,7 @@ def plot( layers=layers, usetex=resolved_usetex, verbose=verbose, + allow_unsupported=allow_unsupported, ) elif backend == "plotext": return self.plot_plotext( @@ -1541,6 +1543,7 @@ def show( block: bool = True, matplotlib_postprocess=None, matplotlib_customizations=None, + allow_unsupported: bool = False, ): """ Render and display the canvas. @@ -1591,7 +1594,11 @@ def show( elif backend == "plotly": resolved_usetex = self._usetex if usetex is None else usetex fig = self.plot_plotly( - savefig=False, layers=layers, usetex=resolved_usetex, verbose=verbose + savefig=False, + layers=layers, + usetex=resolved_usetex, + verbose=verbose, + allow_unsupported=allow_unsupported, ) fig.show() return fig @@ -1921,6 +1928,7 @@ def plot_plotly( layers: list | None = None, usetex: bool | None = None, verbose: bool = False, + allow_unsupported: bool = False, ): """ Generate and optionally display the subplots using Plotly. @@ -1958,7 +1966,9 @@ def plot_plotly( # Plot each subplot and propagate axis labels/scale for (row, col), line_plot in self._subplot_dict.items(): - traces, shapes, annotations = line_plot.plot_plotly(layers=layers) + traces, shapes, annotations = line_plot.plot_plotly( + layers=layers, allow_unsupported=allow_unsupported + ) for trace in traces: if trace.type == "pie": fig.add_trace(trace) @@ -1973,7 +1983,7 @@ def plot_plotly( twin_subplot = self._twinx_subplots.get((row, col)) if twin_subplot is not None: twin_traces, twin_shapes, twin_annotations = twin_subplot.plot_plotly( - layers=layers + layers=layers, allow_unsupported=allow_unsupported ) for trace in twin_traces: if trace.type == "pie": diff --git a/src/maxplotlib/subfigure/line_plot.py b/src/maxplotlib/subfigure/line_plot.py index bf38c21..2c21d68 100644 --- a/src/maxplotlib/subfigure/line_plot.py +++ b/src/maxplotlib/subfigure/line_plot.py @@ -1395,7 +1395,7 @@ def plot_tikzfigure(self, layers=None, verbose: bool = False) -> TikzFigure: print(tikz_figure.generate_tikz()) return tikz_figure - def plot_plotly(self, layers=None): + def plot_plotly(self, layers=None, allow_unsupported=False): """ Plot all lines using Plotly. @@ -1436,6 +1436,29 @@ def plot_plotly(self, layers=None): patch_bounds_x: list[float] = [] patch_bounds_y: list[float] = [] + # These primitives have no faithful 2-D Plotly equivalent in the + # current backend. Keep the default strict so a mixed plot cannot + # silently lose data, while allowing callers to deliberately render + # the Plotly-compatible portions of a canvas. + unsupported_plot_types = { + "quiver", + "triplot", + "tripcolor", + "tricontour", + "tricontourf", + "streamplot", + "pcolor", + "pcolorfast", + "spy", + "table", + } + + if self._bar_label_kwargs and not allow_unsupported: + raise NotImplementedError( + "bar_label is currently supported only by the matplotlib backend; " + "pass allow_unsupported=True to skip it for Plotly" + ) + def tx(values): return self._transform_x(values) @@ -1468,6 +1491,13 @@ def plotly_color(value): for line in self._iter_layer_lines(layers=layers): plot_type = line["plot_type"] + if plot_type in unsupported_plot_types: + if allow_unsupported: + continue + raise NotImplementedError( + f"{plot_type} is currently supported only by the matplotlib " + "backend; pass allow_unsupported=True to skip it for Plotly" + ) if plot_type == "plot": kwargs = line["kwargs"] marker = kwargs.get("marker") diff --git a/src/maxplotlib/tests/test_plotly_backend.py b/src/maxplotlib/tests/test_plotly_backend.py index ff43fe1..0c68cab 100644 --- a/src/maxplotlib/tests/test_plotly_backend.py +++ b/src/maxplotlib/tests/test_plotly_backend.py @@ -1,5 +1,7 @@ import numpy as np +import pytest + def test_plotly_backend_supports_common_primitives(): from maxplotlib import Canvas @@ -185,3 +187,31 @@ def test_plotly_backend_supports_common_patches_and_symlog(): ax2.set_yscale("symlog") fig2 = canvas2.plot(backend="plotly") assert fig2 is not None + + +def test_plotly_backend_reports_unsupported_primitives_and_allows_override(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.plot([0, 1], [0, 1]) + axis.quiver([0], [0], [1], [1]) + + with pytest.raises(NotImplementedError, match="quiver"): + canvas.plot(backend="plotly") + + fig = canvas.plot(backend="plotly", allow_unsupported=True) + assert len(fig.data) == 1 + + +def test_plotly_backend_reports_matplotlib_only_bar_labels(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.bar([0, 1], [2, 3]) + axis.bar_label(fmt="%d") + + with pytest.raises(NotImplementedError, match="bar_label"): + canvas.plot(backend="plotly") + + fig = canvas.plot(backend="plotly", allow_unsupported=True) + assert len(fig.data) == 1 From f8562cfc9e4820533ace302a8b43a773f3e00ff8 Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 22 Aug 2026 08:17:46 +0200 Subject: [PATCH 10/14] Added more --- README.md | 31 +- README.qmd | 24 + .../figure-commonmark/cell-12-output-1.png | Bin 19218 -> 39596 bytes .../figure-commonmark/cell-16-output-1.png | Bin 0 -> 19238 bytes .../figure-commonmark/cell-17-output-1.png | Bin 0 -> 36114 bytes examples/plotly_field_primitives.py | 32 ++ examples/plotly_vector_fields.py | 48 ++ src/maxplotlib/canvas/canvas.py | 123 ++++- src/maxplotlib/subfigure/line_plot.py | 502 +++++++++++++++++- src/maxplotlib/tests/test_canvas.py | 61 +++ src/maxplotlib/tests/test_plotly_backend.py | 148 +++++- 11 files changed, 925 insertions(+), 44 deletions(-) create mode 100644 README_files/figure-commonmark/cell-16-output-1.png create mode 100644 README_files/figure-commonmark/cell-17-output-1.png create mode 100644 examples/plotly_field_primitives.py create mode 100644 examples/plotly_vector_fields.py diff --git a/README.md b/README.md index f20e065..f554af5 100644 --- a/README.md +++ b/README.md @@ -129,6 +129,29 @@ twin_canvas.show() Secondary y-axes are currently supported by the Matplotlib and Plotly backends. +### Plotly field plots and tables + +Several Matplotlib field and annotation APIs map directly to interactive +Plotly traces, including pseudocolor plots, sparsity patterns, +triangular grids, and tables: + +``` python +plotly_canvas, plotly_ax = Canvas.subplots() +plotly_ax.pcolor(x, x, np.outer(np.sin(x), np.cos(x))) +plotly_ax.spy([[1, 0, 1], [0, 1, 0], [1, 0, 1]]) +plotly_ax.table(cellText=[["A", "B"], ["1", "2"]]) +plotly_canvas.show(backend="plotly") +``` + +Plotly raises `NotImplementedError` for primitives without a faithful +equivalent instead of silently dropping them. To render the supported +parts of a mixed canvas, explicitly opt into skipping unsupported +primitives: + +``` python +plotly_canvas.plot(backend="plotly", allow_unsupported=True) +``` + Render the same line graph directly in the terminal with the `plotext` backend: @@ -166,7 +189,7 @@ Or plot with the TikZ backend: canvas.show(backend="tikzfigure") ``` -![](README_files/figure-commonmark/cell-10-output-1.png) +![](README_files/figure-commonmark/cell-12-output-1.png) ### Horizontal Subplots with TikZ Backend @@ -247,7 +270,7 @@ canvas.show(backend="plotext") 1.0 1.8 3.2 5.6 10.0 y x - + ### Layers @@ -283,7 +306,7 @@ Show layer 0 only, then layers 0 and 1, then everything: canvas.show(layers=[0]) ``` -![](README_files/figure-commonmark/cell-14-output-1.png) +![](README_files/figure-commonmark/cell-16-output-1.png) (

, array([[]], dtype=object)) @@ -294,7 +317,7 @@ Show all layers: canvas.show() ``` -![](README_files/figure-commonmark/cell-15-output-1.png) +![](README_files/figure-commonmark/cell-17-output-1.png) (
, array([[]], dtype=object)) diff --git a/README.qmd b/README.qmd index c9af9e9..45cbd13 100644 --- a/README.qmd +++ b/README.qmd @@ -128,6 +128,30 @@ twin_canvas.show() Secondary y-axes are currently supported by the Matplotlib and Plotly backends. +### Plotly field plots and tables + +Several Matplotlib field and annotation APIs map directly to interactive +Plotly traces, including pseudocolor plots, sparsity patterns, triangular +grids, and tables: + +```{python} +#| output: false +plotly_canvas, plotly_ax = Canvas.subplots() +plotly_ax.pcolor(x, x, np.outer(np.sin(x), np.cos(x))) +plotly_ax.spy([[1, 0, 1], [0, 1, 0], [1, 0, 1]]) +plotly_ax.table(cellText=[["A", "B"], ["1", "2"]]) +plotly_canvas.show(backend="plotly") +``` + +Plotly raises `NotImplementedError` for primitives without a faithful +equivalent instead of silently dropping them. To render the supported parts +of a mixed canvas, explicitly opt into skipping unsupported primitives: + +```{python} +#| output: false +plotly_canvas.plot(backend="plotly", allow_unsupported=True) +``` + Render the same line graph directly in the terminal with the `plotext` backend: ```{python} diff --git a/README_files/figure-commonmark/cell-12-output-1.png b/README_files/figure-commonmark/cell-12-output-1.png index 4b0e0635dd27f95ed92bcb312406861b20f3f8c2..aad94a7195c85d70375f5349ed2c9eadd44d1419 100644 GIT binary patch literal 39596 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 Dl{qX> literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/cell-17-output-1.png b/README_files/figure-commonmark/cell-17-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..2c1df4cf12676ea3be244e59f6c97ea693ec0e96 GIT binary patch literal 36114 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 IbxsLQ0Ag}cIRF3v literal 0 HcmV?d00001 diff --git a/examples/plotly_field_primitives.py b/examples/plotly_field_primitives.py new file mode 100644 index 0000000..4cbeda6 --- /dev/null +++ b/examples/plotly_field_primitives.py @@ -0,0 +1,32 @@ +"""Plotly examples for scalar fields, triangular meshes, and tables.""" + +import numpy as np + +from maxplotlib import Canvas + + +def main() -> None: + coordinates = np.linspace(-2, 2, 30) + xx, yy = np.meshgrid(coordinates, coordinates) + values = np.exp(-(xx**2 + yy**2)) + + canvas, (field_axis, table_axis) = Canvas.subplots(ncols=2, width="14cm") + field_axis.pcolor(coordinates, coordinates, values, cmap="Viridis") + field_axis.contour(coordinates, coordinates, values, levels=6, color="white") + field_axis.set_title("pcolor + contour") + field_axis.set_xlabel("x") + field_axis.set_ylabel("y") + + table_axis.table( + cellText=[["Viridis", "30×30"], ["Peak", f"{values.max():.2f}"]], + colLabels=["Field", "Value"], + rowLabels=["Map", "Statistic"], + ) + table_axis.set_axis_off() + table_axis.set_title("table") + + canvas.savefig("plotly_field_primitives.html", backend="plotly") + + +if __name__ == "__main__": + main() diff --git a/examples/plotly_vector_fields.py b/examples/plotly_vector_fields.py new file mode 100644 index 0000000..1b938d7 --- /dev/null +++ b/examples/plotly_vector_fields.py @@ -0,0 +1,48 @@ +"""Plotly examples for quiver, streamplot, and triangular plotting.""" + +import numpy as np + +from maxplotlib import Canvas + + +def main() -> None: + coordinates = np.linspace(-2, 2, 12) + xx, yy = np.meshgrid(coordinates, coordinates) + + canvas, (vector_axis, triangle_axis) = Canvas.subplots(ncols=2, width="14cm") + vector_axis.quiver( + xx, + yy, + -yy, + xx, + color="darkgreen", + alpha=0.7, + linewidth=1.2, + ) + vector_axis.streamplot( + coordinates, + coordinates, + -yy, + xx, + color="royalblue", + density=1.0, + ) + vector_axis.set_title("quiver + streamplot") + + points_x = np.array([0.0, 1.0, 0.0, 1.0]) + points_y = np.array([0.0, 0.0, 1.0, 1.0]) + triangles = [[0, 1, 2], [1, 3, 2]] + triangle_axis.tripcolor( + points_x, + points_y, + [0.0, 1.0, 2.0, 3.0], + triangles=triangles, + ) + triangle_axis.triplot(points_x, points_y, triangles=triangles, color="black") + triangle_axis.set_title("tripcolor + triplot") + + canvas.savefig("plotly_vector_fields.html", backend="plotly") + + +if __name__ == "__main__": + main() diff --git a/src/maxplotlib/canvas/canvas.py b/src/maxplotlib/canvas/canvas.py index bd02b76..87b7a01 100644 --- a/src/maxplotlib/canvas/canvas.py +++ b/src/maxplotlib/canvas/canvas.py @@ -573,6 +573,64 @@ def bar_label(self, row: int | None = None, col: int | None = None, **kwargs): """Add labels to bar containers in the Matplotlib backend.""" self._get_or_create_subplot(row, col).bar_label(**kwargs) + def fill(self, *args, layer=0, row=None, col=None, **kwargs): + """Fill one or more polygonal regions on a subplot.""" + self._get_or_create_subplot(row, col).fill(*args, layer=layer, **kwargs) + + def semilogx(self, x, y, layer=0, row=None, col=None, **kwargs): + """Add a line with a logarithmic x-axis.""" + self._get_or_create_subplot(row, col).semilogx(x, y, layer=layer, **kwargs) + + def semilogy(self, x, y, layer=0, row=None, col=None, **kwargs): + """Add a line with a logarithmic y-axis.""" + self._get_or_create_subplot(row, col).semilogy(x, y, layer=layer, **kwargs) + + def loglog(self, x, y, layer=0, row=None, col=None, **kwargs): + """Add a line with logarithmic x- and y-axes.""" + self._get_or_create_subplot(row, col).loglog(x, y, layer=layer, **kwargs) + + def axis(self, *args, row=None, col=None, **kwargs): + """Set Matplotlib-style axis limits or modes.""" + self._get_or_create_subplot(row, col).axis(*args, **kwargs) + + def autoscale(self, enable=True, axis="both", tight=None, row=None, col=None): + """Configure autoscaling for a subplot.""" + self._get_or_create_subplot(row, col).autoscale(enable, axis, tight) + + def autoscale_view(self, tight=None, scalex=True, scaley=True, row=None, col=None): + """Configure view-limit autoscaling for a subplot.""" + self._get_or_create_subplot(row, col).autoscale_view(tight, scalex, scaley) + + def relim(self, visible_only=False, row=None, col=None): + """Recompute a subplot's data limits.""" + self._get_or_create_subplot(row, col).relim(visible_only) + + def set_box_aspect(self, aspect, row=None, col=None): + """Set the physical height-to-width ratio of a subplot.""" + self._get_or_create_subplot(row, col).set_box_aspect(aspect) + + def secondary_xaxis(self, location="top", functions=None, row=None, col=None, **kwargs): + """Configure a secondary x-axis for a subplot.""" + self._get_or_create_subplot(row, col).secondary_xaxis( + location, functions, **kwargs + ) + + def secondary_yaxis(self, location="right", functions=None, row=None, col=None, **kwargs): + """Configure a secondary y-axis for a subplot.""" + self._get_or_create_subplot(row, col).secondary_yaxis( + location, functions, **kwargs + ) + + def clabel(self, row: int | None = None, col: int | None = None, **kwargs): + """Label contour levels in a subplot.""" + self._get_or_create_subplot(row, col).clabel(**kwargs) + + def set_rasterization_zorder( + self, z, row: int | None = None, col: int | None = None + ): + """Rasterize Matplotlib artists below the given z-order.""" + self._get_or_create_subplot(row, col).set_rasterization_zorder(z) + def stem( self, x, y, layer=0, row: int | None = None, col: int | None = None, **kwargs ): @@ -1001,6 +1059,14 @@ def set_yticks( """Set y-axis ticks and optional label properties for a subplot.""" self._get_or_create_subplot(row, col).set_yticks(ticks, labels, **kwargs) + def set_xticklabels(self, labels, row=None, col=None, **kwargs): + """Set x-axis tick labels and text properties.""" + self._get_or_create_subplot(row, col).set_xticklabels(labels, **kwargs) + + def set_yticklabels(self, labels, row=None, col=None, **kwargs): + """Set y-axis tick labels and text properties.""" + self._get_or_create_subplot(row, col).set_yticklabels(labels, **kwargs) + def fill_between( self, x, @@ -1942,6 +2008,16 @@ def plot_plotly( resolved_usetex = self._usetex if usetex is None else usetex + for subplot in self._subplot_dict.values(): + if ( + subplot._secondary_xaxis_settings is not None + or subplot._secondary_yaxis_settings is not None + ): + raise NotImplementedError( + "secondary_xaxis and secondary_yaxis are currently supported " + "only by the matplotlib backend" + ) + setup_tex_fonts( fontsize=self.fontsize, usetex=resolved_usetex, @@ -1970,7 +2046,7 @@ def plot_plotly( layers=layers, allow_unsupported=allow_unsupported ) for trace in traces: - if trace.type == "pie": + if trace.type in ("pie", "table"): fig.add_trace(trace) else: fig.add_trace(trace, row=row + 1, col=col + 1) @@ -1986,7 +2062,7 @@ def plot_plotly( layers=layers, allow_unsupported=allow_unsupported ) for trace in twin_traces: - if trace.type == "pie": + if trace.type in ("pie", "table"): fig.add_trace(trace) else: fig.add_trace( @@ -2107,6 +2183,49 @@ def plot_plotly( col=col + 1, ) + if line_plot._xticklabels is not None and line_plot._xticks is None: + fig.update_xaxes( + tickmode="array", + ticktext=line_plot._xticklabels, + tickfont={ + key: line_plot._xticklabel_kwargs[key] + for key in ("size", "color", "family") + if key in line_plot._xticklabel_kwargs + }, + row=row + 1, + col=col + 1, + ) + if line_plot._yticklabels is not None and line_plot._yticks is None: + fig.update_yaxes( + tickmode="array", + ticktext=line_plot._yticklabels, + tickfont={ + key: line_plot._yticklabel_kwargs[key] + for key in ("size", "color", "family") + if key in line_plot._yticklabel_kwargs + }, + row=row + 1, + col=col + 1, + ) + + if line_plot._axis_settings: + axis_args = line_plot._axis_settings.get("args", ()) + if axis_args and axis_args[0] == "off": + fig.update_xaxes(visible=False, row=row + 1, col=col + 1) + fig.update_yaxes(visible=False, row=row + 1, col=col + 1) + elif axis_args and axis_args[0] == "equal": + fig.update_yaxes( + scaleanchor=xref, row=row + 1, col=col + 1 + ) + elif axis_args and len(axis_args[0]) == 4: + xmin, xmax, ymin, ymax = axis_args[0] + fig.update_xaxes( + range=[xmin, xmax], row=row + 1, col=col + 1 + ) + fig.update_yaxes( + range=[ymin, ymax], row=row + 1, col=col + 1 + ) + # Aspect ratio if line_plot._aspect == "equal": fig.update_yaxes(scaleanchor=xref, row=row + 1, col=col + 1) diff --git a/src/maxplotlib/subfigure/line_plot.py b/src/maxplotlib/subfigure/line_plot.py index 2c21d68..db26254 100644 --- a/src/maxplotlib/subfigure/line_plot.py +++ b/src/maxplotlib/subfigure/line_plot.py @@ -98,14 +98,25 @@ def __init__( self._locator_params: dict = {} self._ticklabel_format: dict = {} self._bar_label_kwargs: dict | None = None + self._clabel_kwargs: dict | None = None + self._rasterization_zorder = None + self._axis_settings: dict = {} + self._autoscale_settings: dict | None = None + self._autoscale_view_settings: dict | None = None + self._relim_settings: dict | None = None + self._box_aspect = None + self._secondary_xaxis_settings: dict | None = None + self._secondary_yaxis_settings: dict | None = None # Custom tick positions and labels self._xticks: list | None = None self._xticklabels: list | None = None self._xtick_kwargs: dict = {} + self._xticklabel_kwargs: dict = {} self._yticks: list | None = None self._yticklabels: list | None = None self._ytick_kwargs: dict = {} + self._yticklabel_kwargs: dict = {} # Aspect ratio self._aspect = None @@ -278,6 +289,14 @@ def bar_label(self, **kwargs): """Add labels to bar containers in the Matplotlib backend.""" self._bar_label_kwargs = dict(kwargs) + def clabel(self, **kwargs): + """Label contour lines and filled contour levels.""" + self._clabel_kwargs = dict(kwargs) + + def set_rasterization_zorder(self, z): + """Rasterize artists below the given z-order when exporting.""" + self._rasterization_zorder = z + def stem(self, x, y, layer=0, **kwargs): """Add a stem plot.""" self._add( @@ -730,6 +749,76 @@ def set_aspect(self, aspect): """Set the axes aspect ratio: 'equal', 'auto', or a float.""" self._aspect = aspect + def axis(self, *args, **kwargs): + """Set Matplotlib-style axis limits or modes.""" + self._axis_settings = {"args": args, **kwargs} + + def autoscale(self, enable=True, axis="both", tight=None): + """Configure autoscaling of one or both axes.""" + self._autoscale_settings = { + "enable": enable, + "axis": axis, + "tight": tight, + } + + def autoscale_view(self, tight=None, scalex=True, scaley=True): + """Configure autoscaling using the current data limits.""" + self._autoscale_view_settings = { + "tight": tight, + "scalex": scalex, + "scaley": scaley, + } + + def relim(self, visible_only=False): + """Recompute data limits before autoscaling.""" + self._relim_settings = {"visible_only": visible_only} + + def set_box_aspect(self, aspect): + """Set the physical height-to-width ratio of the axes box.""" + self._box_aspect = aspect + + def secondary_xaxis(self, location="top", functions=None, **kwargs): + """Add a Matplotlib secondary x-axis using forward/inverse functions.""" + self._secondary_xaxis_settings = { + "location": location, + "functions": functions, + "kwargs": kwargs, + } + + def secondary_yaxis(self, location="right", functions=None, **kwargs): + """Add a Matplotlib secondary y-axis using forward/inverse functions.""" + self._secondary_yaxis_settings = { + "location": location, + "functions": functions, + "kwargs": kwargs, + } + + def semilogx(self, x, y, layer=0, **kwargs): + """Add a line while using a logarithmic x-axis.""" + self.set_xscale("log") + self.plot(x, y, layer=layer, **kwargs) + + def semilogy(self, x, y, layer=0, **kwargs): + """Add a line while using a logarithmic y-axis.""" + self.set_yscale("log") + self.plot(x, y, layer=layer, **kwargs) + + def loglog(self, x, y, layer=0, **kwargs): + """Add a line while using logarithmic x- and y-axes.""" + self.set_xscale("log") + self.set_yscale("log") + self.plot(x, y, layer=layer, **kwargs) + + def set_xticklabels(self, labels, **kwargs): + """Set x tick labels and their text properties.""" + self._xticklabels = list(labels) + self._xticklabel_kwargs = dict(kwargs) + + def set_yticklabels(self, labels, **kwargs): + """Set y tick labels and their text properties.""" + self._yticklabels = list(labels) + self._yticklabel_kwargs = dict(kwargs) + def fill_between(self, x, y1, y2=0, layer=0, **kwargs): """ Fill the region between two curves. @@ -751,6 +840,13 @@ def fill_between(self, x, y1, y2=0, layer=0, **kwargs): } self._add(ld, layer) + def fill(self, *args, layer=0, **kwargs): + """Fill one or more polygonal regions.""" + self._add( + {"args": args, "layer": layer, "plot_type": "fill", "kwargs": kwargs}, + layer, + ) + def fill_betweenx(self, y, x1, x2=0, layer=0, **kwargs): """Fill the area between two x-boundaries along y.""" self._add( @@ -967,6 +1063,7 @@ def plot_matplotlib( ax (matplotlib.axes.Axes): Axis on which to plot the lines. """ im = None + contour_sets = [] for layer_name, layer_lines in self.layered_line_data.items(): if layers and layer_name not in layers: continue @@ -1025,9 +1122,13 @@ def plot_matplotlib( elif line["plot_type"] == "eventplot": ax.eventplot(line["positions"], **line["kwargs"]) elif line["plot_type"] == "contour": - ax.contour(line["x"], line["y"], line["z"], **line["kwargs"]) + contour_sets.append( + ax.contour(line["x"], line["y"], line["z"], **line["kwargs"]) + ) elif line["plot_type"] == "contourf": - ax.contourf(line["x"], line["y"], line["z"], **line["kwargs"]) + contour_sets.append( + ax.contourf(line["x"], line["y"], line["z"], **line["kwargs"]) + ) elif line["plot_type"] == "pcolormesh": ax.pcolormesh(line["x"], line["y"], line["z"], **line["kwargs"]) elif line["plot_type"] == "hexbin": @@ -1178,6 +1279,8 @@ def plot_matplotlib( (np.asarray(x2) + self._xshift) * self._xscale, **line["kwargs"], ) + elif line["plot_type"] == "fill": + ax.fill(*line["args"], **line["kwargs"]) elif line["plot_type"] == "errorbar": ax.errorbar( (line["x"] + self._xshift) * self._xscale, @@ -1243,6 +1346,10 @@ def plot_matplotlib( ax.legend() if self._grid: ax.grid() + if self._axis_settings: + axis_settings = dict(self._axis_settings) + axis_args = axis_settings.pop("args", ()) + ax.axis(*axis_args, **axis_settings) if self.xmin is not None: ax.axis(xmin=self.xmin) if self.xmax is not None: @@ -1267,10 +1374,16 @@ def plot_matplotlib( labels=self._yticklabels, **self._ytick_kwargs, ) + if self._xticklabels is not None and self._xticks is None: + ax.set_xticklabels(self._xticklabels, **self._xticklabel_kwargs) + if self._yticklabels is not None and self._yticks is None: + ax.set_yticklabels(self._yticklabels, **self._yticklabel_kwargs) if self._tick_params: ax.tick_params(**self._tick_params) if self._aspect is not None: ax.set_aspect(self._aspect) + if self._box_aspect is not None: + ax.set_box_aspect(self._box_aspect) if self._axisbelow is not None: ax.set_axisbelow(self._axisbelow) if self._facecolor is not None: @@ -1293,9 +1406,42 @@ def plot_matplotlib( ax.ticklabel_format(**self._ticklabel_format) if self._axis_off: ax.set_axis_off() + if self._relim_settings is not None: + ax.relim(**self._relim_settings) + if self._autoscale_settings is not None: + ax.autoscale(**self._autoscale_settings) + if self._autoscale_view_settings is not None: + ax.autoscale_view(**self._autoscale_view_settings) + if self._secondary_xaxis_settings is not None: + settings = self._secondary_xaxis_settings + secondary_kwargs = dict(settings["kwargs"]) + label = secondary_kwargs.pop("label", None) + secondary = ax.secondary_xaxis( + settings["location"], + functions=settings["functions"], + **secondary_kwargs, + ) + if label: + secondary.set_xlabel(label) + if self._secondary_yaxis_settings is not None: + settings = self._secondary_yaxis_settings + secondary_kwargs = dict(settings["kwargs"]) + label = secondary_kwargs.pop("label", None) + secondary = ax.secondary_yaxis( + settings["location"], + functions=settings["functions"], + **secondary_kwargs, + ) + if label: + secondary.set_ylabel(label) if self._bar_label_kwargs: for container in ax.containers: ax.bar_label(container, **self._bar_label_kwargs) + if self._clabel_kwargs: + for contour_set in contour_sets: + ax.clabel(contour_set, **self._clabel_kwargs) + if self._rasterization_zorder is not None: + ax.set_rasterization_zorder(self._rasterization_zorder) def plot_tikzfigure(self, layers=None, verbose: bool = False) -> TikzFigure: @@ -1440,24 +1586,7 @@ def plot_plotly(self, layers=None, allow_unsupported=False): # current backend. Keep the default strict so a mixed plot cannot # silently lose data, while allowing callers to deliberately render # the Plotly-compatible portions of a canvas. - unsupported_plot_types = { - "quiver", - "triplot", - "tripcolor", - "tricontour", - "tricontourf", - "streamplot", - "pcolor", - "pcolorfast", - "spy", - "table", - } - - if self._bar_label_kwargs and not allow_unsupported: - raise NotImplementedError( - "bar_label is currently supported only by the matplotlib backend; " - "pass allow_unsupported=True to skip it for Plotly" - ) + unsupported_plot_types = set() def tx(values): return self._transform_x(values) @@ -1708,18 +1837,38 @@ def plotly_color(value): ) elif plot_type == "contour": kwargs = line["kwargs"] + contours = dict(coloring="lines") + if self._clabel_kwargs: + contours["showlabels"] = True + contours["labelfont"] = { + "size": self._clabel_kwargs.get( + "size", self._clabel_kwargs.get("fontsize") + ), + "color": self._clabel_kwargs.get("color"), + "family": self._clabel_kwargs.get("family"), + } traces.append( go.Contour( x=line["x"], y=line["y"], z=line["z"], - contours=dict(coloring="lines"), + contours=contours, colorscale=kwargs.get("cmap", "Viridis"), showscale=kwargs.get("colorbar", True), ) ) elif plot_type == "contourf": kwargs = line["kwargs"] + contours = {} + if self._clabel_kwargs: + contours["showlabels"] = True + contours["labelfont"] = { + "size": self._clabel_kwargs.get( + "size", self._clabel_kwargs.get("fontsize") + ), + "color": self._clabel_kwargs.get("color"), + "family": self._clabel_kwargs.get("family"), + } traces.append( go.Contour( x=line["x"], @@ -1727,6 +1876,7 @@ def plotly_color(value): z=line["z"], colorscale=kwargs.get("cmap", "Viridis"), showscale=kwargs.get("colorbar", True), + contours=contours, ) ) elif plot_type == "pcolormesh": @@ -1740,6 +1890,21 @@ def plotly_color(value): showscale=kwargs.get("colorbar", True), ) ) + elif plot_type in ("pcolor", "pcolorfast"): + # Plotly's heatmap is the closest equivalent to Matplotlib's + # pseudocolor artists. The cell-centered rendering differs + # slightly from pcolor, but preserves the data and color map. + kwargs = line["kwargs"] + traces.append( + go.Heatmap( + x=line["x"], + y=line["y"], + z=line["z"], + colorscale=kwargs.get("cmap", "Viridis"), + showscale=kwargs.get("colorbar", True), + opacity=kwargs.get("alpha", None), + ) + ) elif plot_type == "hexbin": kwargs = line["kwargs"] traces.append( @@ -1768,6 +1933,228 @@ def plotly_color(value): showscale=kwargs.get("colorbar", True), ) ) + elif plot_type == "quiver": + kwargs = line["kwargs"] + x_values = np.asarray(line["x"]) + y_values = np.asarray(line["y"]) + u_values = np.asarray(line["u"]) + v_values = np.asarray(line["v"]) + if u_values.ndim == 2 and x_values.ndim == 1 and y_values.ndim == 1: + x_values, y_values = np.meshgrid(x_values, y_values) + x_values, y_values, u_values, v_values = np.broadcast_arrays( + x_values, y_values, u_values, v_values + ) + color = plotly_color(kwargs.get("color", "black")) + arrow_width = kwargs.get("linewidth", kwargs.get("width", 1)) + for x_start, y_start, u_value, v_value in zip( + x_values.flat, y_values.flat, u_values.flat, v_values.flat + ): + raw_x_start = x_start + raw_y_start = y_start + x_start = txs(raw_x_start) + y_start = tys(raw_y_start) + x_end = txs(raw_x_start + u_value) + y_end = tys(raw_y_start + v_value) + annotations.append( + dict( + x=x_end, + y=y_end, + ax=x_start, + ay=y_start, + showarrow=True, + arrowhead=2, + arrowsize=kwargs.get("headlength", 1), + arrowwidth=arrow_width, + arrowcolor=color, + opacity=kwargs.get("alpha", 1), + ) + ) + elif plot_type == "spy": + kwargs = line["kwargs"] + matrix = np.asarray(line["matrix"]) + traces.append( + go.Heatmap( + z=(matrix != 0).astype(int), + colorscale=kwargs.get( + "cmap", [[0, "rgba(0,0,0,0)"], [1, "black"]] + ), + showscale=False, + xgap=kwargs.get("markersize", 0), + ygap=kwargs.get("markersize", 0), + ) + ) + elif plot_type == "triplot": + import matplotlib.tri as mtri + + kwargs = line["kwargs"] + triangulation = mtri.Triangulation( + line["x"], line["y"], triangles=line["triangles"] + ) + x_values = [] + y_values = [] + x_data = np.asarray(line["x"]) + y_data = np.asarray(line["y"]) + for triangle in triangulation.triangles: + indices = [*triangle, triangle[0]] + x_values.extend(x_data[indices].tolist() + [None]) + y_values.extend(y_data[indices].tolist() + [None]) + transformed_x = [None if value is None else txs(value) for value in x_values] + transformed_y = [None if value is None else tys(value) for value in y_values] + traces.append( + go.Scatter( + x=transformed_x, + y=transformed_y, + mode="lines", + line=dict( + color=plotly_color(kwargs.get("color", None)), + dash=linestyle_map.get( + kwargs.get("linestyle", "solid"), "solid" + ), + width=kwargs.get("linewidth", None), + ), + name=kwargs.get("label", ""), + showlegend=bool(kwargs.get("label")) and bool(self._legend), + ) + ) + elif plot_type == "tripcolor": + import matplotlib.tri as mtri + from plotly.colors import sample_colorscale + + kwargs = line["kwargs"] + triangulation = mtri.Triangulation( + line["x"], line["y"], triangles=line["triangles"] + ) + x_data = np.asarray(line["x"]) + y_data = np.asarray(line["y"]) + c_data = np.asarray(line["c"]) + if c_data.ndim == 0: + c_data = np.full(len(x_data), c_data.item()) + triangle_values = ( + c_data + if c_data.size == len(triangulation.triangles) + else np.asarray( + [np.mean(c_data[triangle]) for triangle in triangulation.triangles] + ) + ) + finite_values = triangle_values[np.isfinite(triangle_values)] + minimum = finite_values.min() if finite_values.size else 0.0 + maximum = finite_values.max() if finite_values.size else 1.0 + scale = maximum - minimum or 1.0 + colorscale = kwargs.get("cmap", "Viridis") + edge_color = plotly_color(kwargs.get("edgecolors", "black")) + for triangle, value in zip( + triangulation.triangles, triangle_values, strict=False + ): + fraction = float(np.clip((value - minimum) / scale, 0, 1)) + try: + fill_color = sample_colorscale(colorscale, [fraction])[0] + except (KeyError, ValueError): + fill_color = plotly_color(kwargs.get("color", "blue")) + indices = [*triangle, triangle[0]] + traces.append( + go.Scatter( + x=tx(x_data[indices]), + y=ty(y_data[indices]), + mode="lines", + fill="toself", + fillcolor=fill_color, + line=dict(color=edge_color), + showlegend=False, + ) + ) + elif plot_type == "streamplot": + import matplotlib.pyplot as mpl_plt + + kwargs = dict(line["kwargs"]) + stream_figure, stream_axis = mpl_plt.subplots() + try: + stream_set = stream_axis.streamplot( + line["x"], line["y"], line["u"], line["v"], **kwargs + ) + segments = stream_set.lines.get_segments() + colors = stream_set.lines.get_colors() + widths = stream_set.lines.get_linewidths() + for index, segment in enumerate(segments): + if len(segment) < 2: + continue + color = plotly_color(colors[min(index, len(colors) - 1)]) + width = widths[min(index, len(widths) - 1)] + traces.append( + go.Scatter( + x=tx(segment[:, 0]), + y=ty(segment[:, 1]), + mode="lines", + line=dict(color=color, width=width), + showlegend=False, + ) + ) + finally: + mpl_plt.close(stream_figure) + elif plot_type in ("tricontour", "tricontourf"): + import matplotlib.pyplot as mpl_plt + import matplotlib.tri as mtri + + kwargs = dict(line["kwargs"]) + kwargs.pop("colorbar", None) + kwargs.pop("label", None) + triangulation = mtri.Triangulation( + line["x"], line["y"], triangles=line["triangles"] + ) + contour_figure, contour_axis = mpl_plt.subplots() + try: + if plot_type == "tricontourf": + contour_set = contour_axis.tricontourf( + triangulation, line["z"], **kwargs + ) + colors = contour_set.get_facecolors() + else: + contour_set = contour_axis.tricontour( + triangulation, line["z"], **kwargs + ) + colors = contour_set.get_edgecolors() + for index, path in enumerate(contour_set.get_paths()): + vertices = path.vertices + if len(vertices) < 2: + continue + color = plotly_color(colors[min(index, len(colors) - 1)]) + traces.append( + go.Scatter( + x=tx(vertices[:, 0]), + y=ty(vertices[:, 1]), + mode="lines", + fill="toself" if plot_type == "tricontourf" else None, + fillcolor=color if plot_type == "tricontourf" else None, + line=dict(color=color), + showlegend=False, + ) + ) + finally: + mpl_plt.close(contour_figure) + elif plot_type == "table": + kwargs = line["kwargs"] + cell_text = line["cellText"] or [] + col_labels = kwargs.get("colLabels") + row_labels = kwargs.get("rowLabels") + if col_labels is not None: + header_values = list(col_labels) + rows = cell_text + elif cell_text: + header_values = [] + rows = cell_text + else: + header_values = [] + rows = [] + columns = list(map(list, zip(*rows))) if rows else [] + if row_labels is not None: + columns.insert(0, list(row_labels)) + if header_values: + header_values.insert(0, "") + traces.append( + go.Table( + header=dict(values=header_values), + cells=dict(values=columns), + ) + ) elif plot_type == "gantt": kwargs = line["kwargs"] tasks = line["tasks"] @@ -1901,6 +2288,32 @@ def plotly_color(value): showlegend=bool(kwargs.get("label")) and bool(self._legend), ) ) + elif plot_type == "fill": + kwargs = line["kwargs"] + polygon_args = line["args"] + for index in range(0, len(polygon_args), 2): + x_values = tx(polygon_args[index]) + y_values = ty(polygon_args[index + 1]) + traces.append( + go.Scatter( + x=x_values, + y=y_values, + fill="toself", + fillcolor=plotly_color( + kwargs.get("color", kwargs.get("facecolor", None)) + ), + opacity=kwargs.get("alpha", None), + line=dict( + color=plotly_color( + kwargs.get("edgecolor", kwargs.get("color", None)) + ) + ), + name=kwargs.get("label", ""), + showlegend=bool(kwargs.get("label")) + and bool(self._legend) + and index == 0, + ) + ) elif plot_type == "errorbar": kwargs = line["kwargs"] marker = kwargs.get("marker") @@ -2298,8 +2711,51 @@ def _add_hover_trace(x_pts, y_pts, hovertext=hovertext): marker=dict(opacity=0), showlegend=False, hoverinfo="skip", - ) - ) + ) + ) + + if self._bar_label_kwargs: + label_kwargs = self._bar_label_kwargs + fmt = label_kwargs.get("fmt", "{x}") + + def format_bar_label(value): + if callable(fmt): + return str(fmt(value)) + if "%" in str(fmt): + return str(fmt) % value + return str(fmt).format(x=value) + + for line in self._iter_layer_lines(layers=layers): + if line["plot_type"] == "bar": + x_values = np.asarray(line["x"]) + heights = np.asarray(line["height"]) + bottom = np.asarray(line["kwargs"].get("bottom", 0)) + for x_value, height, base in zip(x_values, heights, np.broadcast_to(bottom, heights.shape), strict=False): + edge = base + height + annotations.append( + dict( + x=txs(x_value), + y=tys(edge), + text=format_bar_label(height), + showarrow=False, + yshift=label_kwargs.get("padding", 0), + ) + ) + elif line["plot_type"] == "barh": + y_values = np.asarray(line["y"]) + widths = np.asarray(line["width"]) + left = np.asarray(line["kwargs"].get("left", 0)) + for y_value, width, start in zip(y_values, widths, np.broadcast_to(left, widths.shape), strict=False): + edge = start + width + annotations.append( + dict( + x=txs(edge), + y=tys(y_value), + text=format_bar_label(width), + showarrow=False, + xshift=label_kwargs.get("padding", 0), + ) + ) return traces, shapes, annotations diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index d1b1d59..67fb29f 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -658,6 +658,67 @@ def test_stream_matrix_and_table_primitives_are_supported(): matplotlib_axis = axes[0][0] assert len(matplotlib_axis.collections) > 0 assert len(matplotlib_axis.tables) == 1 + + +def test_contour_labels_and_rasterization_zorder_are_supported(): + import matplotlib.pyplot as plt + import numpy as np + + from maxplotlib import Canvas + + x = np.linspace(-1, 1, 5) + xx, yy = np.meshgrid(x, x) + canvas, axis = Canvas.subplots() + axis.contour(x, x, xx**2 + yy**2) + axis.clabel(inline=True, fontsize=8) + axis.set_rasterization_zorder(2) + + fig, axes = canvas.plot(backend="matplotlib") + + assert len(axes[0, 0].texts) > 0 + assert axes[0, 0].get_rasterization_zorder() == 2 + plt.close(fig) + + +def test_axis_layout_and_log_shortcuts_are_supported(): + import matplotlib.pyplot as plt + import numpy as np + + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.fill([1, 2, 3], [1, 4, 1], alpha=0.2) + axis.loglog([1, 2, 4], [1, 4, 16]) + axis.axis([1, 4, 1, 16]) + axis.autoscale_view(tight=True) + axis.relim() + axis.set_box_aspect(1) + axis.set_xticklabels(["one", "two", "four"], rotation=30) + axis.set_yticklabels(["low", "high"], color="navy") + + fig, axes = canvas.plot(backend="matplotlib") + matplotlib_axis = axes[0, 0] + + assert matplotlib_axis.get_xscale() == "log" + assert matplotlib_axis.get_yscale() == "log" + assert matplotlib_axis.get_box_aspect() == 1 + assert len(matplotlib_axis.patches) == 1 + plt.close(fig) + + +def test_secondary_axes_are_supported_by_matplotlib(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.plot([0, 1], [0, 1]) + axis.secondary_xaxis("top", functions=(lambda x: x * 2, lambda x: x / 2), label="double") + axis.secondary_yaxis("right", functions=(lambda y: y + 1, lambda y: y - 1), label="offset") + + fig, axes = canvas.plot(backend="matplotlib") + + assert len(axes[0, 0].child_axes) == 2 plt.close(fig) diff --git a/src/maxplotlib/tests/test_plotly_backend.py b/src/maxplotlib/tests/test_plotly_backend.py index 0c68cab..dbf44a2 100644 --- a/src/maxplotlib/tests/test_plotly_backend.py +++ b/src/maxplotlib/tests/test_plotly_backend.py @@ -1,8 +1,5 @@ import numpy as np -import pytest - - def test_plotly_backend_supports_common_primitives(): from maxplotlib import Canvas @@ -131,6 +128,37 @@ def test_plotly_backend_supports_scientific_field_plots(): assert any(trace.type == "histogram2d" for trace in fig.data) +def test_plotly_backend_supports_contour_labels(): + from maxplotlib import Canvas + + x = np.linspace(-1, 1, 5) + xx, yy = np.meshgrid(x, x) + canvas, axis = Canvas.subplots() + axis.contour(x, x, xx**2 + yy**2) + axis.clabel(fontsize=10, color="black") + + fig = canvas.plot(backend="plotly") + + assert fig.data[0].contours.showlabels is True + assert fig.data[0].contours.labelfont.size == 10 + + +def test_plotly_backend_supports_fill_log_scales_and_ticklabels(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.fill([1, 2, 4], [1, 4, 1], color="orange", alpha=0.3) + axis.loglog([1, 2, 4], [1, 4, 16]) + axis.set_xticklabels(["one", "two", "four"], color="navy") + + fig = canvas.plot(backend="plotly") + + assert any(trace.fill == "toself" for trace in fig.data) + assert fig.layout.xaxis.type == "log" + assert fig.layout.yaxis.type == "log" + assert fig.layout.xaxis.ticktext == ("one", "two", "four") + + def test_plotly_backend_respects_layers(): from maxplotlib import Canvas @@ -189,29 +217,119 @@ def test_plotly_backend_supports_common_patches_and_symlog(): assert fig2 is not None -def test_plotly_backend_reports_unsupported_primitives_and_allows_override(): +def test_plotly_backend_renders_mixed_vector_primitives(): from maxplotlib import Canvas canvas, axis = Canvas.subplots() axis.plot([0, 1], [0, 1]) - axis.quiver([0], [0], [1], [1]) - - with pytest.raises(NotImplementedError, match="quiver"): - canvas.plot(backend="plotly") + axis.streamplot( + np.linspace(0, 1, 3), + np.linspace(0, 1, 3), + np.ones((3, 3)), + np.ones((3, 3)), + ) - fig = canvas.plot(backend="plotly", allow_unsupported=True) - assert len(fig.data) == 1 + fig = canvas.plot(backend="plotly") + assert len(fig.data) > 1 -def test_plotly_backend_reports_matplotlib_only_bar_labels(): +def test_plotly_backend_supports_bar_labels(): from maxplotlib import Canvas canvas, axis = Canvas.subplots() axis.bar([0, 1], [2, 3]) axis.bar_label(fmt="%d") - with pytest.raises(NotImplementedError, match="bar_label"): - canvas.plot(backend="plotly") + fig = canvas.plot(backend="plotly") + labels = [annotation.text for annotation in fig.layout.annotations] + assert labels[-2:] == ["2", "3"] + + +def test_plotly_backend_supports_pseudocolor_spy_table_and_triplot(): + from maxplotlib import Canvas + + x = np.linspace(-1, 1, 4) + y = np.linspace(-1, 1, 4) + xx, yy = np.meshgrid(x, y) + z = xx**2 + yy**2 + points_x = np.array([0.0, 1.0, 0.0, 1.0]) + points_y = np.array([0.0, 0.0, 1.0, 1.0]) + triangles = np.array([[0, 1, 2], [1, 3, 2]]) + + canvas, axis = Canvas.subplots() + axis.pcolor(x, y, z) + axis.pcolorfast(x, y, z) + axis.spy([[1, 0], [0, 2]]) + axis.table(cellText=[["A", "B"], ["1", "2"]]) + axis.triplot(points_x, points_y, triangles=triangles) + + fig = canvas.plot(backend="plotly") + + assert sum(trace.type == "heatmap" for trace in fig.data) >= 3 + assert any(trace.type == "table" for trace in fig.data) + assert any(trace.type == "scatter" for trace in fig.data) + + +def test_plotly_backend_supports_quiver(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.quiver([0, 1], [0, 1], [1, -1], [1, 1], color="purple", alpha=0.5) + + fig = canvas.plot(backend="plotly") + + arrows = [annotation for annotation in fig.layout.annotations if annotation.showarrow] + assert len(arrows) == 2 + assert arrows[0].arrowcolor == "purple" + + +def test_plotly_backend_supports_tripcolor(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.tripcolor( + [0, 1, 0, 1], + [0, 0, 1, 1], + [0, 1, 2, 3], + triangles=[[0, 1, 2], [1, 3, 2]], + ) + + fig = canvas.plot(backend="plotly") + + assert sum(trace.fill == "toself" for trace in fig.data) == 2 + + +def test_plotly_backend_supports_triangulated_contours(): + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + x = [0, 1, 0, 1] + y = [0, 0, 1, 1] + triangles = [[0, 1, 2], [1, 3, 2]] + values = [0, 1, 2, 3] + axis.tricontour(x, y, values, triangles=triangles, levels=3) + axis.tricontourf(x, y, values, triangles=triangles, levels=3) + + fig = canvas.plot(backend="plotly") + + assert any(trace.fill is None for trace in fig.data) + assert any(trace.fill == "toself" for trace in fig.data) + + +def test_plotly_backend_supports_streamplot(): + from maxplotlib import Canvas + + coordinates = np.linspace(0, 1, 5) + canvas, axis = Canvas.subplots() + axis.streamplot( + coordinates, + coordinates, + np.ones((5, 5)), + np.ones((5, 5)), + color="darkgreen", + ) + + fig = canvas.plot(backend="plotly") - fig = canvas.plot(backend="plotly", allow_unsupported=True) - assert len(fig.data) == 1 + assert len(fig.data) > 0 + assert all(trace.type == "scatter" for trace in fig.data) From 2726678cb1f6139fc3f6858279229be3b8277f33 Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 22 Aug 2026 08:18:01 +0200 Subject: [PATCH 11/14] Formatting --- src/maxplotlib/canvas/canvas.py | 20 ++++++------- src/maxplotlib/subfigure/line_plot.py | 31 ++++++++++++++++----- src/maxplotlib/tests/test_canvas.py | 8 ++++-- src/maxplotlib/tests/test_plotly_backend.py | 5 +++- 4 files changed, 43 insertions(+), 21 deletions(-) diff --git a/src/maxplotlib/canvas/canvas.py b/src/maxplotlib/canvas/canvas.py index 87b7a01..248f4b5 100644 --- a/src/maxplotlib/canvas/canvas.py +++ b/src/maxplotlib/canvas/canvas.py @@ -609,13 +609,17 @@ def set_box_aspect(self, aspect, row=None, col=None): """Set the physical height-to-width ratio of a subplot.""" self._get_or_create_subplot(row, col).set_box_aspect(aspect) - def secondary_xaxis(self, location="top", functions=None, row=None, col=None, **kwargs): + def secondary_xaxis( + self, location="top", functions=None, row=None, col=None, **kwargs + ): """Configure a secondary x-axis for a subplot.""" self._get_or_create_subplot(row, col).secondary_xaxis( location, functions, **kwargs ) - def secondary_yaxis(self, location="right", functions=None, row=None, col=None, **kwargs): + def secondary_yaxis( + self, location="right", functions=None, row=None, col=None, **kwargs + ): """Configure a secondary y-axis for a subplot.""" self._get_or_create_subplot(row, col).secondary_yaxis( location, functions, **kwargs @@ -2214,17 +2218,11 @@ def plot_plotly( fig.update_xaxes(visible=False, row=row + 1, col=col + 1) fig.update_yaxes(visible=False, row=row + 1, col=col + 1) elif axis_args and axis_args[0] == "equal": - fig.update_yaxes( - scaleanchor=xref, row=row + 1, col=col + 1 - ) + fig.update_yaxes(scaleanchor=xref, row=row + 1, col=col + 1) elif axis_args and len(axis_args[0]) == 4: xmin, xmax, ymin, ymax = axis_args[0] - fig.update_xaxes( - range=[xmin, xmax], row=row + 1, col=col + 1 - ) - fig.update_yaxes( - range=[ymin, ymax], row=row + 1, col=col + 1 - ) + fig.update_xaxes(range=[xmin, xmax], row=row + 1, col=col + 1) + fig.update_yaxes(range=[ymin, ymax], row=row + 1, col=col + 1) # Aspect ratio if line_plot._aspect == "equal": diff --git a/src/maxplotlib/subfigure/line_plot.py b/src/maxplotlib/subfigure/line_plot.py index db26254..6e7c78a 100644 --- a/src/maxplotlib/subfigure/line_plot.py +++ b/src/maxplotlib/subfigure/line_plot.py @@ -1998,8 +1998,12 @@ def plotly_color(value): indices = [*triangle, triangle[0]] x_values.extend(x_data[indices].tolist() + [None]) y_values.extend(y_data[indices].tolist() + [None]) - transformed_x = [None if value is None else txs(value) for value in x_values] - transformed_y = [None if value is None else tys(value) for value in y_values] + transformed_x = [ + None if value is None else txs(value) for value in x_values + ] + transformed_y = [ + None if value is None else tys(value) for value in y_values + ] traces.append( go.Scatter( x=transformed_x, @@ -2033,7 +2037,10 @@ def plotly_color(value): c_data if c_data.size == len(triangulation.triangles) else np.asarray( - [np.mean(c_data[triangle]) for triangle in triangulation.triangles] + [ + np.mean(c_data[triangle]) + for triangle in triangulation.triangles + ] ) ) finite_values = triangle_values[np.isfinite(triangle_values)] @@ -2711,8 +2718,8 @@ def _add_hover_trace(x_pts, y_pts, hovertext=hovertext): marker=dict(opacity=0), showlegend=False, hoverinfo="skip", - ) - ) + ) + ) if self._bar_label_kwargs: label_kwargs = self._bar_label_kwargs @@ -2730,7 +2737,12 @@ def format_bar_label(value): x_values = np.asarray(line["x"]) heights = np.asarray(line["height"]) bottom = np.asarray(line["kwargs"].get("bottom", 0)) - for x_value, height, base in zip(x_values, heights, np.broadcast_to(bottom, heights.shape), strict=False): + for x_value, height, base in zip( + x_values, + heights, + np.broadcast_to(bottom, heights.shape), + strict=False, + ): edge = base + height annotations.append( dict( @@ -2745,7 +2757,12 @@ def format_bar_label(value): y_values = np.asarray(line["y"]) widths = np.asarray(line["width"]) left = np.asarray(line["kwargs"].get("left", 0)) - for y_value, width, start in zip(y_values, widths, np.broadcast_to(left, widths.shape), strict=False): + for y_value, width, start in zip( + y_values, + widths, + np.broadcast_to(left, widths.shape), + strict=False, + ): edge = start + width annotations.append( dict( diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index 67fb29f..32d3f7d 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -713,8 +713,12 @@ def test_secondary_axes_are_supported_by_matplotlib(): canvas, axis = Canvas.subplots() axis.plot([0, 1], [0, 1]) - axis.secondary_xaxis("top", functions=(lambda x: x * 2, lambda x: x / 2), label="double") - axis.secondary_yaxis("right", functions=(lambda y: y + 1, lambda y: y - 1), label="offset") + axis.secondary_xaxis( + "top", functions=(lambda x: x * 2, lambda x: x / 2), label="double" + ) + axis.secondary_yaxis( + "right", functions=(lambda y: y + 1, lambda y: y - 1), label="offset" + ) fig, axes = canvas.plot(backend="matplotlib") diff --git a/src/maxplotlib/tests/test_plotly_backend.py b/src/maxplotlib/tests/test_plotly_backend.py index dbf44a2..9fde583 100644 --- a/src/maxplotlib/tests/test_plotly_backend.py +++ b/src/maxplotlib/tests/test_plotly_backend.py @@ -1,5 +1,6 @@ import numpy as np + def test_plotly_backend_supports_common_primitives(): from maxplotlib import Canvas @@ -278,7 +279,9 @@ def test_plotly_backend_supports_quiver(): fig = canvas.plot(backend="plotly") - arrows = [annotation for annotation in fig.layout.annotations if annotation.showarrow] + arrows = [ + annotation for annotation in fig.layout.annotations if annotation.showarrow + ] assert len(arrows) == 2 assert arrows[0].arrowcolor == "purple" From eff28f00c8251987f5dcab365a8cf6e1d81242a9 Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 22 Aug 2026 08:20:39 +0200 Subject: [PATCH 12/14] Added tutorial --- docs/source/index.rst | 1 + ...tutorial_14_axis_and_layout_controls.ipynb | 190 ++++++++++++++++++ 2 files changed, 191 insertions(+) create mode 100644 tutorials/tutorial_14_axis_and_layout_controls.ipynb diff --git a/docs/source/index.rst b/docs/source/index.rst index c418ebe..2924abb 100644 --- a/docs/source/index.rst +++ b/docs/source/index.rst @@ -25,4 +25,5 @@ documentation for details. tutorials/tutorial_08_plotly tutorials/tutorial_09_plotext tutorials/tutorial_13_advanced_matplotlib + tutorials/tutorial_14_axis_and_layout_controls tutorials/tutorial_tikzfigure_subplots diff --git a/tutorials/tutorial_14_axis_and_layout_controls.ipynb b/tutorials/tutorial_14_axis_and_layout_controls.ipynb new file mode 100644 index 0000000..2a7b977 --- /dev/null +++ b/tutorials/tutorial_14_axis_and_layout_controls.ipynb @@ -0,0 +1,190 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0", + "metadata": {}, + "source": [ + "# Tutorial 14 – Axis and layout controls\n", + "\n", + "This tutorial demonstrates the latest Matplotlib-style wrappers: filled polygons, logarithmic shortcuts, axis limits and autoscaling, secondary axes, box aspect, and explicit tick labels." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1", + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "from maxplotlib import Canvas\n", + "\n", + "x = np.linspace(0.1, 10, 200)" + ] + }, + { + "cell_type": "markdown", + "id": "2", + "metadata": {}, + "source": [ + "## Filled polygons\n", + "\n", + "`fill()` forwards polygon coordinates to Matplotlib and becomes a filled Plotly scatter trace." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.fill([0, 1, 2, 1], [0, 2, 0, -1], color=\"tab:orange\", alpha=0.5)\n", + "ax.set_title(\"A filled polygon\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "4", + "metadata": {}, + "source": [ + "## Logarithmic plotting shortcuts\n", + "\n", + "Use `semilogx()`, `semilogy()`, or `loglog()` when the data and axis scale should be configured together." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, (ax1, ax2, ax3) = Canvas.subplots(nrows=1, ncols=3)\n", + "ax1.semilogx(x, np.sin(x) + 2)\n", + "ax2.semilogy(x, np.exp(x / 4))\n", + "ax3.loglog(x, x**2)\n", + "ax1.set_title(\"semilogx\")\n", + "ax2.set_title(\"semilogy\")\n", + "ax3.set_title(\"loglog\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "6", + "metadata": {}, + "source": [ + "## Axis limits, modes, and autoscaling\n", + "\n", + "`axis()` accepts Matplotlib-style modes such as `\"equal\"`, `\"tight\"`, and `\"off\"`, or a four-value `[xmin, xmax, ymin, ymax]` limit list. `relim()` and `autoscale_view()` recompute the visible limits from plotted data." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "7", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.plot([0, 1, 2], [0, 4, 1])\n", + "ax.axis([0, 2, -1, 5])\n", + "ax.relim()\n", + "ax.autoscale_view(tight=True)\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "8", + "metadata": {}, + "source": [ + "## Secondary x- and y-axes\n", + "\n", + "Secondary axes use forward and inverse functions. They are currently rendered by the Matplotlib backend." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.plot(x, x**2)\n", + "ax.set_xlabel(\"distance (m)\")\n", + "ax.set_ylabel(\"area (m²)\")\n", + "ax.secondary_xaxis(\"top\", functions=(lambda value: value / 1000, lambda value: value * 1000), label=\"distance (km)\")\n", + "ax.secondary_yaxis(\"right\", functions=(np.sqrt, lambda value: value**2), label=\"length (m)\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "10", + "metadata": {}, + "source": [ + "## Box aspect and explicit tick labels" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "11", + "metadata": {}, + "outputs": [], + "source": [ + "canvas, ax = Canvas.subplots()\n", + "ax.plot([0, 1, 2], [0, 1, 0], marker=\"o\")\n", + "ax.set_box_aspect(1)\n", + "ax.set_xticks([0, 1, 2])\n", + "ax.set_xticklabels([\"start\", \"middle\", \"end\"], rotation=25, color=\"navy\")\n", + "ax.set_yticks([0, 1])\n", + "ax.set_yticklabels([\"low\", \"high\"], fontweight=\"bold\")\n", + "canvas.show()" + ] + }, + { + "cell_type": "markdown", + "id": "12", + "metadata": {}, + "source": [ + "## Plotly rendering\n", + "\n", + "The filled polygon, logarithmic scales, axis modes, box aspect, and tick labels also work with Plotly. Secondary axes currently require Matplotlib." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "13", + "metadata": {}, + "outputs": [], + "source": [ + "plotly_canvas, plotly_ax = Canvas.subplots()\n", + "plotly_ax.fill(x, np.sin(x) + 2, color=\"purple\", alpha=0.25)\n", + "plotly_ax.loglog(x, x**2, color=\"black\")\n", + "plotly_ax.set_xticklabels([\"small\", \"medium\", \"large\"], color=\"darkgreen\")\n", + "plotly_canvas.show(backend=\"plotly\")" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "name": "python", + "version": "3" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} From 8d82214b8c707409ab3280b181c7e1bd27e3ab0a Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 22 Aug 2026 08:23:28 +0200 Subject: [PATCH 13/14] Added test --- .../tests/test_styles_and_colors.py | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 src/maxplotlib/tests/test_styles_and_colors.py diff --git a/src/maxplotlib/tests/test_styles_and_colors.py b/src/maxplotlib/tests/test_styles_and_colors.py new file mode 100644 index 0000000..f8df991 --- /dev/null +++ b/src/maxplotlib/tests/test_styles_and_colors.py @@ -0,0 +1,61 @@ +import pytest + +from maxplotlib.colors.colors import Color +from maxplotlib.linestyle.linestyle import Linestyle + + +@pytest.mark.parametrize( + ("style", "expected"), + [ + ("solid", "solid"), + ("dashed", "dashed"), + ("dotted", "dotted"), + ("dashdot", "dashdot"), + ], +) +def test_named_linestyles_are_preserved(style, expected): + assert Linestyle(style).to_matplotlib() == expected + + +def test_custom_linestyle_pattern_is_converted_to_matplotlib_dash_tuple(): + linestyle = Linestyle("dash pattern=on 5pt off 2.5pt") + + assert linestyle.to_matplotlib() == (0, (5.0, 2.5)) + + +def test_unknown_linestyle_defaults_to_solid(capsys): + linestyle = Linestyle("long-dash") + + assert linestyle.to_matplotlib() == "solid" + assert "Unknown line style: 'long-dash'" in capsys.readouterr().out + + +@pytest.mark.parametrize( + ("specification", "expected"), + [ + ((255, 128, 0), (1.0, 128 / 255, 0.0)), + ([0.25, 0.5, 0.75], (0.25, 0.5, 0.75)), + ("#336699", (0.2, 0.4, 0.6)), + ("navy", (0.0, 0.0, 0.5019607843137255)), + ], +) +def test_color_specifications_are_converted_to_rgb(specification, expected): + assert Color(specification).to_rgb() == pytest.approx(expected) + + +def test_tikz_color_mix_is_interpolated_with_white(): + color = Color("red!20") + + assert color.to_rgb() == pytest.approx((1.0, 0.8, 0.8)) + + +def test_color_output_helpers_include_alpha_and_hex_values(): + color = Color("#336699") + + assert color.to_hex() == "#336699" + assert color.to_rgba(alpha=0.35) == pytest.approx((0.2, 0.4, 0.6, 0.35)) + + +def test_invalid_color_specification_raises_value_error(): + with pytest.raises(ValueError, match="Invalid color specification"): + Color("not-a-real-color") From cb55dd91b6c74e3ec2ef24c9c0e8b59db2795bce Mon Sep 17 00:00:00 2001 From: Max Date: Sat, 22 Aug 2026 08:23:37 +0200 Subject: [PATCH 14/14] Formatting --- tutorials/tutorial_14_axis_and_layout_controls.ipynb | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tutorials/tutorial_14_axis_and_layout_controls.ipynb b/tutorials/tutorial_14_axis_and_layout_controls.ipynb index 2a7b977..ac43ba3 100644 --- a/tutorials/tutorial_14_axis_and_layout_controls.ipynb +++ b/tutorials/tutorial_14_axis_and_layout_controls.ipynb @@ -119,8 +119,14 @@ "ax.plot(x, x**2)\n", "ax.set_xlabel(\"distance (m)\")\n", "ax.set_ylabel(\"area (m²)\")\n", - "ax.secondary_xaxis(\"top\", functions=(lambda value: value / 1000, lambda value: value * 1000), label=\"distance (km)\")\n", - "ax.secondary_yaxis(\"right\", functions=(np.sqrt, lambda value: value**2), label=\"length (m)\")\n", + "ax.secondary_xaxis(\n", + " \"top\",\n", + " functions=(lambda value: value / 1000, lambda value: value * 1000),\n", + " label=\"distance (km)\",\n", + ")\n", + "ax.secondary_yaxis(\n", + " \"right\", functions=(np.sqrt, lambda value: value**2), label=\"length (m)\"\n", + ")\n", "canvas.show()" ] },

zrAr!F}>m-IAB#LnNVvq|rT(p)TxmwUyE0wM8c=GBOcu^o}jEPO9lz71~g zV4+G{x5fPp3Dy^&`E)ETnFNPWO8CG3ILos+_RX_6Sne^d0SB^BzlLKQlIMbXm0^ z1yazyZy5E*MWPcdCa$eWi^wA#_!{K>qfVr_U7k^FL^SSlx6M9@(T-B zceMvP*$wzD6bLuIL48;lcjdao=D`z% z5eE-1h^zgMw{Jc-&f35rRp{Xy7xVP=ck8nPU01zt?^5HEyM`2oo+n@~wl4bN(08w! zTiuPW!d@SEDphwB(?0EEqKc3iUrYSZmbnV?6%u|%DPmC9RdHz9eP_eQ8Fn{XM~&+)=SHV6X#1<%ZIN8ue5i``m}3;b=FP(`fe06Q zq}5g(ousEI!)c@U+B9Y!Px%_Lr*LDq+Y=vj@vVC5bd-ZB%0*p7{~vB4#7F%84*;p* zwYu}wOCvKhbR9k~e_n6}R23=0E{r8Q<*c2`iCBCN3qtIMb?Bj(6p&BwKZLNmZ14bx z0f-fO5E$y})d0)?DaTfwoc-o~xrEr%0qwNcY6`U13Z@^;@?XhW|Cvlvsb~pdkJn82 zj7^utKQNZfjVa@}9TIbRqcNco+#BTHCFz`;po+k7q|wmVHIDFw5V3t(o!;tHX(d~` z?=a$|R}*V2`~5RkLf$v4CyRR>zaH0}&QxFTD2AlPcJAmD3r}R@{#xWcZaDR1kRS7xp7HW9%3UBL{bL`iO<>No-dvDiSFElAiYH^e> zAlq(kZz%sRP$EiX(cFyw0#FCGoTzs1?cI$3*zND{^R`^Ly`TMo04y%Di%o7a!~=bO zNWiql^Q1HYDe7=6UN&*gp9fb#*@i_)?~gZa4ms7*>M(YH^M zT*99`L&ObtnS+8ZQCY={MlDlpz;#}?!blQ8Rb`S=Zc>Ug3Q%QZDLGCRYxJwFF=*-N z#=&}_Tt8K5D&cgJDdy!IvSniu6BCpB;;|P)-!ac|xlLYGl@MjkTat-9eO2Q3YQ z0x>I>R4+<~Uh#{slmk#2UbascA3n$^90jhb#$hDwhX(Z*KhAGP%FDlu!o&o0nd8_d zL8@KSUfgt{g z)!EOPhX+%Tg{zLqflNuXzi;`dH8{*TWgv*uvaF~hYyAu@iE@{0C-||DCiVXIGEX6a z5g7vmR$pJ=>k>ap@fM()VNQGj4|n8bBy&e{M6!Nfy8YBN76qOs!&o+`Zl4YBH&q5G zlsA4C{$XPHMlSA4Od;xyzx0w<%HY-p^P1Cb(;y29~T;`*#{@a`WM~a$@Ha_oG_lKap(89$iW}Kzp1@@cmz*BO-z+(z`b^hEE#XeWN%2_iuARH zKJ4RmGo^@YQIX{>kkxsdR;2;TI~!24S3QAC(jJj6R7}K@IblV`C1*{%&k`94_B=*a zf0G8m%dNKh~}wrA3}(ZPN9&8oBG2$D*_9081j^^iaR#iM<(%+p-5-8AtwXY~9Cg zlpDVn4c>VMpMKbAV&%KW*TS#&OiuN02l z8g-^I>jKp>lS<&S*M5_j09hg|8KjZQ2d>}FqMS7uvVSQt1JgX#!^A7&G*U2U8+qwN z?S>{GAD)|ttC>-Gl#fA_@v+IumoMKq<74hle-E~9*_yB*Z%Or{ZCGk>Mx1GvdCF4Z z3z(h=7B~S{&A61J%F#_vk5eb}j2_M9LnjQarw7K$2><-KOfk;}5p<)w1y!{;<2Mk8eJUu(5IjTm02vZUXiuUGRl z>_6tvtw<-5IBJg_LD)pCYp;4Lgz1-40OeiOU0t|P?0BxiAxZ-h!KL?x77SI1_BRx7(P zb6lYq17S33P;!0gCn0GF<Mk!D_XtHn;hbSvOMwEh7y{yF*J@ z*3C2_&9hd?YnI4wLkiQAXK!b=tY>fK!pBs80nQIKyYXIs@1RC-!1m{XjR`A8A1nPr zquj5W{YtWCuSyDM>+I**Ohp0y0>^=71Rs^cE+H|IzQmzlNv_w?nuEM1N8{}cXA$~W z#gr*%C&xw-l=(Birb!68Ij<{VcrgrSvg{-~7xX`uM^x5<3SbwnY7onFO}+k#L&0KO zQFL-Xb-?8@gBate^)j;|P7{|Mwr5h8GZ0j$>RS+RR?gcV=#*FrxfY-om+wXQdhAb-TKZb1cs=k= zT13L~?|NzuM5uX}Q7km{nF0yI5^>j9i8CBOGaZuz*IWReM-boUbSr@x6SmH8d75F;2@xO`GqaWtkfox)g~Xda~BH*OCc| zdJ#TkD`oDGzXA!F0(dR{74kX6f7rBikr2hNIZI!>=Nl1W_$|H)M6XFpCpU)m(K>j% zkYIF=(-pKWM)bxp>yyB@_#lSsQsSVb{pPH&Kcu)iZSpo$>SM%5ExX$Gw?s%}zJD4~ z%O+LwQ*;59FORs$AT%+qSR{(`hV12gY?R5wV?{Hn14SBMVrKn1zuOB)b?~IMg3m@5 zmIVIBAy;yNCMSL|)o<7n`fH}etJ?FGmuo-XsdGaZztOheQ$Ijo&Wv_KjmDn(<}vYk z!N_;BuHev+76JS~Z<4t$(b3UGq=RnqV=B$FG{zmYChHHkytAEC@bfTdI+*z(^tR`mx)KeRFaJEO zQ}I7>Un}Rc?pq-4_wyCehOtUbUTqFlF~+p^A?b z*o#7PV>sVt5L3ISXdd7yS;^lQ+~v-6yL?-G0Gr9C01RT|=Se)o zlP-JT+_rFV(&&4&GViRWOUg8E37^!!%8$5?EXpS$2g$mUR%3}&Qm=y01Ix=3Ka?`^ zz#(tl5fnf>hV5mGfUkP?)Tj5oE! zFhvgl;ske;@av7?nj)H?-2WDZEIy>_^vBjsq1yKDsV((Yk^QWEP)k;OE=o@$CE5Dr zb!$|#2uat6-3ym85mvW(##HV8(3je?abSoGkY!yyb+6Q<&8R;p{#ehnMjt)a*?>;! z9?Ja#;7w0*!nEs1mP9$LLA##C8ppgwfa6Y|E9xk-_=NH=^pqj(^sZPqo@64$yjtwbV93Yqzi| zxEOxS>l?179Zs#hDNQ+i`2?Oow@@8}jodQa6O=Hn1RKgg$L2}0T#NEamIElGm+Otb z5M=B)?U;7Z3AcQdw8%%L25gx*CjvprA!j(M+VU`314_QlgC}8d7z0e#n3AIGlU29} zsFAS-U-1kRNu&yK9AWl}H)tPxWA9c0TgE^I9b6Y*U8dht56`wYF>m6BGaT?vY5jK) zoC(t^kFf))L~Ow7<1gv3=|=L@sn3>*>xnLWo2@e@HXQiAzNl3+P0t zNBy}tfVu2miAWTQ?|bQswxG#iWk^7hLVqWVh?W-?Ja_ac8hNZ&{3*Y-0HJNi1jB?g z{kTl+zk447k(>jo_6H@3RN)mJoWxU)9(It4&Sa0gvS*&6Ebh^-Fh&7$XHx2R;#DCB z{VxfiZPaA(H%|kGcs$Y>0i=Lf>itDdp-DNpDlr|T2Ad_52K&y9yZqJo$W{t z;V*0s5Mgtx{!tH4ZznO!%AcPKlyV_(JkFv%z0b&((cT*tlPsNb!UDv0Bip9|NgAk~ z7(&9GOw|ssZx5`#grM_D@NG?WL6w)C6}~0#ZWQYoo-hd1|5f{9MvS7w)*(ps zCduUIYcICZEX9aoB7qYUszCCNXLwGccu{Kd>PxI%J+;#9=eBVFuh~Xw@Qg^i9Dn|0|)% zzYf33*Ya(>)B5u&n7H-w?%Hlvp_^X59m(*W(uv=dj}WQ19V5t9M$Mk>&+huaiEM@nGfN61?U*yW+)jMf~6I*`221FmQQjP-e6!y zxdQ0^7OqC^{uH2Ao|?b#zdMoZ?(Y5zMv+VoU5Epn+X23$ksSeHZ`dZu2jX!`L^P8<=$i4&G@6p)B!sykydLfV@Wp zC}hzpVewuY56um5hd#|HYz!IYp;Us?Pxx+4OqZK#TR`W$KVg zvgl8B;`USJUd|Ea7@1|pa^c7{HA{{pxM;;(DGUe7ugOon`VbKI$_{vZVAd%k28`F0 zwY4Bt?UFa=+vBuEtJ=bBSd?PedujZ(fk1%pJ?SB0HfrDoS`jo?8bujI5)O?@dr}47 zVUv)Ai~HSJ3Ri-}N4PyudxX1O`eLa<^YZ9gT3S8?oxYmbnXl)HPe`Z&WK-q(>+Nwm z-@B7OX6=&1{uAI^l8z=7I9~KvreS4e{e8JJS)6dCY?Ed4$ifBOO-zpW!q#seZ=>&s z31yTlPP3}>2__|&7vBunEmv1RMt$kC`$PZti%x~sn)~b9w%MDb$>Z-z2OtR!8t}?` zZiwLnm6soRDw%`@FeEBo#kyQts<*`mpyiq7#Uo}U3qNgVkbh;qiUgNpKKsM!gOd{u z(WZ#oZW!896bavlv(1tB_Dn1+DCGvVxWag@C*MTxz}2CxF;su=2A;xhIuhYZMe*9I zs-KSS_l%tTc3|#GG}wkkvKhuCf=Hx^a62#_M%t^Ta7#vINd#1|nzS^`9EM_n|h(GnX z+f5do=ww;AUz%1QW%=i7EVdVW`)@Xsc&}X_rhU*3TI!+NIhJ-kg=_B-Gh_0W%yl7z$Dbwu;|wyQDSj*8JKM&XgE6YL{(8 zy(nXj>rSMXX6Ux|8DMY0$skTXc%;f=7x+8DC@ip1`xv`f%msnaJCzc07+8A79L^OF z(u+c`57LEQ{_gIU=*v-ld1*fvcK3wNv-uqE(E`@aDdL;1yj(v%)idLMkKB87 zb({3)=(*_dYxLqjHrW?1g>5=G5_PANV9WPs3gT_)+S&t@XGrf zdxgTA0v5lt{`3y)?fXRjnP>~(hd;VJU|?C$z>IW!9fD?Wed~Au{WWU34EHqQgLU%7 z(j#OyFyna{JI4taFd?s^(lvgLb}%qMdNLBBnKDy~n7*%9v+qVv|82FecB^}jMr&N$eG@+ynL3TTZ&0eDS-i`J5Zw^v*|PJD6J^ zk0OiRRmA%`OYC?gPMh9s zT+$3`@vPF=&JClj3IA1>np*$nG4ec9A@uy$A(Mx}{!{bdnc{RODafpEf7C5(WdCYr zk#xdsV^{~5`laZ4@bT?i`@BmuE*OW6dML{_ZL@g~s_*^3X}wnOT9ak93^H6o!i%}- z_&#$Wo7l|PaXjhfip~R|Hs#&J?LGdm(=AufWydTLT;jpJ%phvlh##1Pni+~k1>(I? z6voAthUNCBg-^?h#E>7CIz&T1TJQgSds6w)XaR z`N0L+! zsS+C6lZX4hmS0ky^&vr~?*pWid^%k?;1S`W{%=Z5&P21nQ}=^;hSV>qBV1KFK)iB~T3x zhUvDEt*esz(LZeoKUY^UJmZrY7j1M3Rt|UYz8<#gR|Qn(E0;Pb%8$_8`XZlua?Ojd z3d0;M5&1b`06Id~niMBbo6)d~{vhhlHNT{*8Fb;ZR(#u;mkWL;&PlLApX86aI`vbC z;3Mac{07AwOuM4#W)DYoHz^{erkQ9e331(}dZ7BRo&Z6UBvaIN8ygXwm^vyFv~O%W zN%*OD^Q4%>P)jXCynS{L-s$$o;k;HTx0A}&tu)DH{|ZsmYAP#NG%SMBs7I*uq9iFL zI7#k)PmF|6Vo69y(2!o%Wm)LlKK9-o?qXhT{&syQ{$Vw^=AJRygl*K(87lOC0R7FZ za`8I>v#n>o{BSmzUSEA2eivKgDDN8M#nfr^Co3m{!G3G?Bgw-RHD47IzB#r=>5Ep< za4hOo1M^L?ap`Um9N*y6gcls&$NNiQr3h=t%VC7&M=0LVu7_ufde&~eUXJreVMygP zZ8Lg%53&Kl{t-z@NhxRw7w`ChkA9_qI=1ICoq;#W&e(go-@=h42*&Nyyiv*Ax#OJkseP`Yd-B+>Q$sqd|8?3 zwbRb>;dmEsc*dKgD%`oppb?&ucsWl*EFBd3JYE6Oz67$~I&X;YCCxD2zI}Ul{#(s^ zmNNX?IKriy2s>C2+JS4l-5s7676{3N=gPDiv*7VwH81!+x-79x%E}?~JnON9Sqk>S z<40E_oSQ3zGO_P;s5cUny|m`F&O*wcuJZBk>aJ;@26Xg6ZH)`43(<>4LLxqc^4{VC zs*RqsRbg0qk6A1JYkYSIXl!q29_Dn+P-Q4=GuUTn+zMfDDw4`U<+6m%ELtDEwjw3xNY3!(4Y}!Lh zdM18_dOY-2%Zps1Tr_qs)-5Td0JCc&n5lOr8%o50ebh+LB3jClF=|Xdf#_*DS!kX} zfoQHS6k_H~q+wIgJ>So5tG-OtBdgE~D~j*eqlPU3L3w28V+ym^D-<^OZM2%huWOVN zUeQ_2bp8~2L{Gkg(=HF`T6CwsyLjo%M6|93b2?n_@#D{mZCOEdpB|kcepFY=Y93Hd z`kJGa!oR$TI>~8pJOJfN5oo*?Swl-*+BoPHWeU>PHyO)Of9w}3e+^u>{2ejC8?{Qa zh&s54%=}`;Zl@x@0Dgrl-+8%#cs5R*l)v(LMqb$G2m#F1 zW4WQSU3>Em_DMxC&tjyrO!gf-bFW^pdR_>22km`0F!Y9-Fgq#%tj^8(4qXdhBENj6 z{!`ls*0cr6lF()UTMST0HBw%FG)sB!qc5ME<*Y+1^@+JW5?$aXO;}- z>0}WIQ)#J80)1a7A8llV!6}?&#$$u0F5N5acGQi`DIR4CNO3LGx#+$|Rw^XD4eH8) z93%wbn_#M@mB|96k8W;N^nX}}b1Td5xPYpXq=cYIm>d=&&ypBic@D=k!#h0x`3rVz zTD=2YELHA#NaOeX2Z$Yc#wWXfpXO9PO%S+D&qHX64Rt>z+=5+t{`bittsXLWN@l3a}scvhE;F7%ts@18_`qe8Et6V^b$$~P6GaK-qiDONQ z!lDSgjZMhd)(3KWox;Pzb9ujA${y1j?_=h(5#?YbdfmJWQ}3S_p1#cDVF$yV zUmzj9OYOA^2@MVXwReik3(d{T>jCP7#bI11kC;)s-?z;ecwY3I=oer#3+O|rQar23 z94Yd><%b%Wgm4C1+Qj{Ya6X&x7^q-Mcu>3E)tCuy5xck}^CJoHkn<6^U7KE)z!bfGTNveqeVC`d3S{}07ima z3qYpc00cqr%^;X;Zt>}~zCRBF#(To!PD0g@PU9wR89By3cQod8j6`;f41EoKHyLLZ ze-;01u{8Twqd4OA*Fg>cs3E1ZH@rRLzeqV)39!+UP^sDp*dYSbft|2qdbWN}bzKrG zq|;%uS6wZVYEpUfnu;WQ;ao{9~tUgTwkE-M+Jqi9^M7mQ8#X0 z7>lna6oh$saX|ox2n{?r!0|<7Ag>QWlwPZwfb=5&BWZFYL2hA#IWxOTC&^Uqib@M2 zIGDt5F`Ck3L!GiMWjX|3pZ0P)Mn?u=7-(}c6P|u~6&cnyC1(a9NQMZno1sLjVrM4m zdZ_@el#K2+n2^TIKETtP?~df>`rkTy!mi(Z2m(OUFFq147xaDV80v!GA%XFjmca zq1i(XU>z!Gvg54=({f;kkOtl`o<6ix_xJ)6YN=o`Zt`Ar`gMw&2pR+8O%)ymivplr z{pTdwpW%rj=7DSpE0z>2;7;g24U$(r%^%?gbG8|S)o-O0KGgxgE(wGSjJ?M{y&)5H z7>>h(9PEXwiC;^PhnFW7rD^}DX#AN4dl7(%dnYV^yhYuW1=|V0lzms$;&}q!es_un zLYe<%RJVkEe07rfuJTpgX3mO zjq8@@WF3DCLdZ7L6&arNLF-mPdkA&e`h{Y94|b&ycX8k=M89PebhaD9X`YTij1n=R zPeT{@Wgj9t4Aec7>r`H=!8f2e=$%6G-zm5~M*ruzl&zooW8kDwxmD1r{!kNYr_%Lx zOB(cVSVb+VW78K=BoFNLS1xgXMA8=<$L*N!MFmOWgH3$42#fc0tB4@7v;`Ob$_{?>PdzL0uqR%qq|su0b8q{*=YZO zzlI|!0n{du3Fkohg;tr%EHt^HZ9bXePe3~$EP*E@QA$dx%5_Hr*dLK8L|m~$qJ&RD zzU^x_Y}@|i^b}Xn{VNBMGr5VZM>C_rMDB=taqn~H+}zynU^s@JzP=f#+E*{l&x?qA zj%VLy6>qa$gZ#GZpJgz&-O9?UfYr3Eg_VIp#tQT4QQz3yEKC)4DYW|;h_LEHBJ?49 zFg-=Ytz_`e9~}Z>;*^y}pbQ%MGL{?G>wJ9<068T`ZMU3VH$YLk(YeS)N zgEMBM5smUB@YQLYa!`OU1o-5;YFemV|4m7xq-~>V?{|XF$?;0H) z9s6yD-v2GjpB3^cPd0k+m>d=hxKT8aZ@rjgY^Z}OVc?Sj)SQ+5{qz;Dh$%dfR1Xw} zep96YnkUw#GH{mu*IdYQadE+mwd^m}a<#CZ<9|N`ZMZYtoT;){t&)uO18;?v0QqBHgWyf_ljefsT1VX-u}7(W+QTUQq%ESZ@P z$Oca)EP`uMkk#%3PqZ25FrZn0m%D+?`{vN7;e(_n$xd%byy8I67|;nmZ&_iIzw*`+ z)A(@>&NWtJtGQy8BYg+DEMdM$iHZ0rfT7MD{6B$nJ70IscAI7Y?Gc|@1D{%Fsd-Fz z!EWTl-=9I_jV^C-NDH9F!mm+!)-N8xCyfsSE0qi=RNE_5%MpM z0aijeq`Y_{2Rq%1EKu*!xRytzZFvBqjpp$v_OU537(7-Ag|}if2Iw|j9H~|By+mIaZBON z+_8Ob+49z%uJqR@euP(yFLm(Y8KiLZ8##^^o0%vT=%aZgm=PC?)ald-s{hA;Cz?$@ z|EFH~iux0Fez^l73x!IBe*Jo}xZg-)D{$vbz@9cIg;%A|mZkkR%FN7sbn!|mKQQrp z_v+sx75qa66e1;y3X6&kE%l!6!dV;^c|WU`_t>6O!Y2bVudbTvA$8^3ihxC`sB47@4_wr9-Iymj5$#d!^0A)-N=eQ8jnvbECkMR+Wpd$~|8r?!4$X&V8YD9D$y&AO@B87j zB4|?LBEJEL;E%J#>P9x0s)1vUe` z6W46byxgXpa^}Mfh0x?6y=Cv`w+Qvi+pi0>S|+n>P04DXPT>3#ccMks9S_yNDO=oK zTpj>V1QmGwviu@&xwC|A+qK{6C7u2K;l6V$0z)^YcwT&e9uC8zCiwlZZf!hv3fu)x4@fKiBzY4hRd=>C8 zf>nO=?baHpD=8_tJ zIN;{P;^jbRZrHHlLL@Lby-Iyo22Gqjnxmf(*03)yqbNKdc>1)@nS=9Zp=n~OX zns(rTLq%of!wUP zqJjM+V58F&cv>y6Y*qOb3Y^X^{Pe`rFiqlE#X|!Dpj>NrH#e~OQvLVs%NLPKpbI3- zL5-#4qBT)lx%TbbSMliyr`@j?%Fh1ni8Ev%<{bsr;2VG~nV3Blg1~4z3_LSp1Mqwv zXa8=Xk^`0?Z}5cd^ZBW%9k#{+I8h8djHr8lU#cI?GWi^4?#%kKi$8K<3@(FkliXI`rZ zZq#}7{_Je??&}w<+7f%X`IrqM4Z|Cokz;0Xv=Gr;q%re9^E^Ajbx#*0K4bs_Pgg&e IbxsLQ0Ag}cIRF3v literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/cell-3-output-1.png b/README_files/figure-commonmark/cell-3-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7b43e831927e8943536b327cac5b63aa6c57406c GIT binary patch literal 37127 zcmb@ubySsG^ftOp4i-l^h=70!h_r%qsfd(>bfZ$z-E2Swk(QQLnoZ}XK~%cCLz+!U zH{AJh&iDK8-usR5eU9Nk;bpxm=9=qyp82fpEh{a0^%B`76bf}!Ta~r9iMfr5;hWobdREqk=4R|H4%gSo{KToijTN$wG(-!$aEBF>-s@5nJ2_f?Lj6r-Cyz8^I__HSp4l&E4cn+b8 zeKl(#WBBx;9fVKQzS*CrzvS~*rjJj;U!1wC*_kTa!$q0dEM>;ZK9|y7T_7fA`m~v{ zsTKVA_TOjEKNT|{w_g2he~(7&DVt;Jp<8>1!5E+a2eF1o>s1~~TKIDox`29obt7|u z>-_0I?@XS49k_r`hy1^WMU49l@(;TwwfM-_+{=X0$X9pG&lab@y!76K2>He<5*nBy z_)~uS|F;SAg9>Jb#MeJQ28V^wwnlNV^ZkSTW}2*(RsQ)47sQQ>Fbc%P(nRUH1z*3` zEImMeIPqSgEx{^6@`-2nv*fT=3O>6p6v+CZ6z&TOYO%oM$bbHiy7hlyWdAjBKoe71 zTDrbdeWK}tM(Z8!u0mELA#|=D`EmyVTS(`?#El)@ZJiNnBsHCgTq; zf{0I_{=&a>DcEeZtZ{RpJ2@$7I#}m)0qmzN@aJ->j~QU(q4wiw*FWKShZCS)1gO^T;_4EIR~rN+R6-5zkg5r zvQ~BU>(mGIHl}737CzE^Y1)$(6hO<%tM>HiQ{DCHMyq-X`-V)_g6V>G!Hn5eh-wsS z?x*hF>3vPe%! zHTTt%$OFlK^uadsPSnb1xo>rK^_YHiaIoC+O=P4sy^g+@hw}A&Up~wdGchrVoTC>J z5y^)EU9OUjT`(CcOkWzt%2a1tPSx4@P(HRzzo=c`KHIp~!q4N#sVyDT8qzZIl>R|cEb1X9Ctlpl3hISpzQ2*0p6#zkXQ-KjFTm69+=&4q)04-b#?-hqKRfAYG{->mV}nZz4C?jRp*LjC_w>86;q(f}Q>Gb+LUuYI((i?1C(z7>8 zIgYAs%tw!P3n%G>lyz~jJl(Gok-*MBSligf+(jlvhfV zv0;v}%hnkgBEB~i*xvazG_nTA+od!G^2zD#jS=zEXZk(XX7#?Z9rEdwHvZK=FkLch z+nay0$`Djmax&(Kv29$UWlwz^pgS#Q_QcY2HF15g)k_+egLRYYQ0%y~OxBQl?WL7t zv)J0soju4)7SSFBkTv!>1q3Q<>t$kjlg)AcIXT#F23uTTuhhGqVzsTZi&x1s{@A{J z`O?mh^6>&s%a-^8o12c0OZDOA!_?AV;1aAK%crJY`&2&;nvAajOlRkLS&?jz?MR3 zJ*D%~Lo^?Hf0Jz|!>lmg?YMMIn$Pucmo0D<5*#5R;aw{9W>9BdaZjOP_vZ3+W61I! zzB3~cLv{PV6Ev;%++4%#BkqMta`uuo_M0y-RiBLi?KqPnZKXGSF-3{sTpMkbx&HzK z`N_j)$M)8A3zVh{uQV5Rm8vQZrzjT=x(FQ&JI#1vHP=clV9u21dWfaN&SQ*{_M;vd z20wfD>}H_Umj_Q=kM|55w|bRrb>fE2t2G1JOHYmuXxZ82s}5H9Vl{^3#OGTg+4VN( zJK6MGZaOX(^>5z)XA9R7#UWYePo7G3P8My%xY(17&t|O{tQ*T!`;6nDG+mvDbR1jy zDDVoQXmW5nc^PM?wsW9fQ%n)w%*HqYxuVRGvqt!B>pqH5yo+^>v1pyQ4`2g~_=tKh zhE6^{emhYnanUp**q4MgJlecU_2QMAw>Re6S$BpK67D+Uvar)fJL3_M2p3lJBeY#h z`HwccyONtrisl-p$;;+uUPs>_v@t6l9z-kpKfc>II(@%}?(0-i`5GulfCHEarRhX!@$G{m)o;tY4p38N38-WbFa12jto!stML_E( zacoml1lDbol`5O({+>u5Pdp}LWw-gwbdIoE>C!5s!;*{twehDpTW8%(+dLwXRFB-! zf4)a7t|Z0(Q8xMQm5D#;CXSN_n)z>?jUo?vS5Ich`I_`BgHnD0%=;rM#vS_)KAlD- zCcU`5ZTySe>~Z+khnaCMn~n|k(as#_uIb1NeA5$+OAx-xKN-#tY$gu@M$(`&w_MD- zkGj>pir1w#K+f1i6J4bhx8DCfYx+Qx#eP^ToyWc)fwx^0#R>x0q>Z>c-PKC&Yrlm+eq-(pF1v+4qII>Ppy32jA~6Mf~vbn}r^-h;76 zrv5F%76Uy4@OlEqW&#NM8tHHZq&w-$U*o0csi#1(nm>+*CSXQ3uabf@FPIWb#_)5%HbW9`j0}erG1p}~Fme#wzy=iMT zlf_!AK;7nx%Z`{3+BeEl)mKdQkF1a(xng~Z`L8M>tBoEGt4BYE&fJ89GbqU7Y}z9Z z>h+KI%935)OjA`jUanxCoz38eS3>eS)*@0r&gqREp{Iwgy{to*%d^kyW0jlRs108D zUqzw5vH<{BXo6_dZSk|U;vFtaw(k0@w7xjs=9EpdMBUM^K2}lWJHqwV(^7jeQbPb| zGgC#BQU?)i@emL>i-fIsrTzA5u)M79BRr?6K9==AVaz-^s*-cO@vss2-87wbwB`mY zo|YQ-nXmuYRw(!ZTd?FdM4;RJhcNLnNh3qLq1)Q5kvvtYeoH+KOC2L^%aw^Um6oHl z6B;5s)oCh}G37yd^f1=fFxHZ<_TeiLb5+BJnbaT9GX>u0B<*G~`6(*{TRO8)} zi@WM|ZT}EQ%oCjN;a7k~78S0={~8k#(6d`_4_YDRksr-uL z{c|)*R-#onwwURA4+03=MB%qI@_Azqidc^2lGf>>y^q%TDF1qo)Qbom*0r#VyUutUKwdXm!UD;Squ$w?&yprXnl6Ev1i36 z$mdLcw?P|wva9dqQsfEX z=Bv?pimoF;Mo7aoXqb32lg1UD^??X=|Dr_)3}N`im_Zx0#dg`&1tyBfgjpLwe*2Kj z5&PPu4hU!RyOZZfdOm(wSg(ok=e_e%;e7%j@$f@(3+cSA_cK4rox~~J%q!bi8N$7( zj#!4}*;=kaG?tJOO4nRn7H)|7sBguLpWz83`Y$a#FaiRW#z#EVU{oqigXN{$WWSiA6MwP#TjWJ|iTxc&9t zS1J5#f3Go>Iu~QiNFvEdVCe{uIlRxr5biZ+78)zsesf1a;I7uk;y^YImVxos(dec` zVKq{me`D%QPP}ROZ|gaG$h}LR9z+)BfEus2VELx|1?v3|R#y5o>NIcY7-^&l5NKbg z!)}`xWs;c6gq<8!^!I#$*~C%9Y}VjqTx+N|4)NdWUAsD+{@PT^AHS&i#}DD-t<>$V zYDIymDy-{h&Rj0U;J{@V((mwP0Tx!5>TVT#BSMB8|CKk7g5Mqd*AQDjRHt?(`DLFaeR)7!P~%4N z;zfCgYz}1Fo}3&R1`3v|F19NdhrXt`>GnR~Y<}pOJtNE3ayT^`+A$&hA#|$$DYX5C z%08)yPm;)Qi({F5(Ss+HI* zHB>Jtj8n%ur4G^j{vYKD+D7j?dOo@iOVJC-rv%kIFT&w67-82}vKki6EAH#m=jdBQ zPxKKKYquo`}W{tO5OQ6Yt4u{ zE9X`HI;XZW-94l3*YY~>hBkkg8>``K1`QkI%WQqf5Y)rjU; zU-H>J(HYzeFZd3Vr3jP7y;j;OmI9KM4xwYZ1UN)aZlokNXygoGFR_Ek4r0S^u z{o23X@`i57AqdL1IF$@nea(y(Z8A%Lw)bJ06uQ*>@nxN(y;ZN7=vI0d8VVId03qvP zMc5@nAvj5Fh-s->>QG_akHLIW8^NQgE~pi92^ z`eo)hPU;Uw)4iRsJXmkCxv80StfAMgx_+tt3`wJK{DXKvEDDtH4&AsDSA$5$=#%o& z5NX~s&arbbY)!oJ*3M0&j*#pB?F=3~_{?=64r4$a9@QbFw2#FY7`?DS_uG78V2`)1 z^Pxew(rLKOO<3R?n3-ks?~GV?mDw7v?d(LPrQIjxv&*Cb=C&_z?G`tpNst`*cze@t zlqE|>C@t(gHkD{?2&0=d=jdA|?|(gZi8b6EQKA|5$TJl;I0dvNcxC%58fUIlz; zXlxAn{sFJKFH3#q1A*XYP!dyH3!rl_gDTYHc_b7P{jk|&9bk`cz4jeFOba7k%@T4I7d*Ah) zwP1wl^jB6&T=J2i*?N)9ztzhrP#}-KjR%4A2Y-&eou4{GIVT)D<|JuWwr~#}FY#cm zH9D0s4m)ZWZ8DfIQc+RCu;p5PxGw3b*a*4|?)>&QFG|dV^pQ$u`>V+NHzuRb<-duy zy*$NE{hPKpu4w3d&&S>8-^wt@zwb8hGKMe)gjjP#ag8_U9VwSaodW=?cH1)k-D5(*94ixk|x;S6;Uy+F_%>&`NIIo7BkH_14wXTkz4hu-I#o zs&+lvTz-GyGRwZ!)?#l6B6y9*tpZJ4Z={QFfMvKJ7k6!A7>_|gR)NXw$i#P=lv>th z<`+3{uIKfXwav}XCu1YxivxZVjxJ+LmCNMt8kcJ!mg!mf5*xFvtPYgj+l~=Nb$+By zk}I0_qqg6zlS1fZ!j-br#2-I)@5xeErYi?2C*t>;W`d)~rj8pC=zM0{A1c*0!lK@< z&R=@bmuBXEh%4K!bF!@!k1SaEdK!@R(+}_sK;x{sNeEar|SdfmHS&EH~Z5k%E7aPrK8oayffN(Xxn-8B}y2K=G#+LA3>JiHhz#gBZ6{G3mb&Z)JWp$)HS-g^(&}O0Zv%Nj1WrO8czqT8* z*EI@EuIlHmZ^C#2WO_C3fRix4c|rFZ?Ny4ULhsE)%%rEr1xE#c{`{3_$R~|G!$QW< zQ)GRBL_OIi;!VMy#{%JJE&ef5-`VK5{R~2j6+`*s{0(0lx*3_3TjM z>_Tq~dF{FU)v*W}(Aq8EEK4&Yl!Yow4;fRg)tC5Jg>GJ!W3=E6G zW7@6T8dWZ(*;ZOUB_-U6chiG^UsimRAz|B`9E`8d7Z?*{Z&KV9uuQ>RXhodiefO;O4Vm$utiM4rXxSfB5j_xZTpgT5v|R z(Y;h&FGqS4@{65!{@GrV$S9`05jQM33}+I*s}y;`kFzXdXdwl~wm-LWa6sZ z%8IskKBNw)T}HV_Z``M+pPVuX32hrslFV|JOqB8`1IEyOg z5cs+4fLUZWh!rD%Lth2!7+C2w5jgu5E&kytL<>U_F>1Q1N#3l-eAjQQ`?6g_#I1vo4C>R$o20{H2;pl3&5txL3dkIc{8EkmL^&!378_B z}i{rh;l--z#<9_4F=wCY1W3r5)BM!$#v zvo^eHZipXw|7K4}-x}us2J-xRZ^}Q2T9O%0O3M1gbqt#Cxxt~mP4#0~GuINbfQ1xI z%wuNm*jQE|0L>}{X6o8-2G;a^aUbH$m!~cTbd~42JsjIIdmdHu3mN5vkkC?4i0a-x zZ%w_VGFNZR(;5l`>;2g1R>$8aaTQe#@q@1cT=N03TQULNZBG}SpLe`55#B|^)B!A| z;F;+8#t)nYJO(*}w+{mJqR0Sn%V`Q`FYH*HL>B*GEc@J*w*0mL4u{4Z-aUPs141h|1Q?Yv zn-voU_lKj3nKfgzXbQp!*{dFLl%3Kp6-=!KP$~e@uoF!IQ<(M|>C6(p)$`d*zPFiF zrEJoRUc1p`L=$h3;2J%8F0KDSgzavYEiaR_w(5&0{;oQ;#W(o_>T^1BeCf+{V_fgHr>#^3I z(}}zQ%YW6$UiH11YeJg-{gazxZA+g~sc&y@E;Tr;6>bs)pQ9_7ISLckM=D81D116u z;cLkT&4qgSb^F<_t;vqMpJ7yO2_Tx14)YDERPQyr@A7?iubqm7s`KEZl#KNJuUrA6NhpgjhdK-!s%o%qip!}9)HM8d=KgV87k z)<+$p_q0u8l@B1A2N69FnZ`ws(=h3vO~xJd@iu*vEGV-=N7NzX%!n@I3gf&gj4bSG zPvS=)#?}yxn1zt7#{4;zlss4cXB7_Nc0y-lX|>`g*WLQnqD_zNCPEKi6*vQd;U*!J z{z}$1eWM}6cZU=gUB(e4Ero+Pomkp0@(X1gR;kCYEP2bN12u9BIha6>itr6&lJW7_E187+RhtE6k!kHdyg zz7FD#*=lc#N_C!Y{MsZO_ZE~iF*USKz%qi}%&tfr{Vf#PA=C#869JlQ7R}G`u4Nu} ztgM!HML&EK^_UnUB;wWZr`_#%m9N16Wd|X%na|3hy z5$5)DO1jU$})~ItX z71Nz}vRba;TQCM{j;bA2FrS!Ew6}y1n9NQf-FODwc-pjZ%W-_xYuNkTn`BoCH`qZV zQi)|}tPI9y>zo$zpG^thhTQuF;#k4~Sq^QL%p9E8ZllL>9)xU3@&R7q=MEGV8qJv_ zJ9cbaJ$MH~Q|NImzQ)f0YEmTq>KtJ+)Fi*=U?FN(7$B4>Z}rrwxE0QRy(JiCifogK zTBLaeF3BRJznK!tI399P){KsJ(mhXj%B()L0ZGwKXqAJH2IArj#08Z~goB*xsP%}7 zkex00n%ssg>Py{tz2vb`ccJ9+;{n@Eztauk13^I|D<^kX-UJgpn(#x{Vi-vSHE$I9 z?{($7=2o%LUyoe>VOAgvvq21!1_>wZe?s$IUEY!lxKq0C^+M}+3=&BaG-ZrbckdQs^@$+jz5l4LMnPcm#whSrzCGHYIv zHlG+N?dd|nvkxkfM9-#cVP?j* zb4RXm^4&Q+-M&oKu;VSP`8W$0D8jQf%bUt z$J~Bt;3f5{*P`RfaP0bb21(jVv#)_n@%&;S4+1E1myiIVulc0lS$>;o>Je^238^Nv zUb~D!r7Fi({Cdq0GdMW7zCCR2o0F5{N6wYqqQk6K_!-0v-1tPT=jG)aKTeK!gy1*Vd-3@bvVw^F1@`un}Qg_>GQEGk*?S z&tCIGojS4Z6e-)8!Y3atvRO@w!E$Ri32@QUib%(BTYkSu#$}c{F3iCpXTUef3*uEU zE0# z+D5vOjE#tP8U>UXWPE&>MI)m<@tXWcGpC4A+*D9vXB$w~p8MyY#&Ss_2xb%tJ0okr zO{^%A`6)hLJ919b4`Xr+i?u$V7`PZvxQJF<--F`$!t@r^$*xzXS`ntJ`Z)O~svaxE zEMGMiBbQRPFg5eQjTxo!{-$WZ#;l!`0M0Mn}hMTYm5Y ztq8P(V@$qi;NBH*C7^G}{shLCH${u}Su7kOF&>Pt_~89F{SnXj@;TM@ePo=>~hoU6!`> z#vLTQkM71m~Q*wZ_=@M1cWGMD|u{6*P{`ud)0t_;jnK<4too}Yatfb z$R3HkfB#+=*O%qQ-?S&uu8v_TAhDkBxTBe;u&Nk@K422E0k=ZRza|STC~;L2Ic}hK zeZpexlU-#jG!PwFhA)s51Xn})xHvt7oU;~YRbz4MbByYwxE#*ZhAN%N(-14S{Nf=W z>+3TA&1;jVaj?K3BEyVDt3t)zjDpkTi{%N(hnp=esc}x27C5YYrU&wLob>fY)Imdt z&B&<_q|%x0bJVYa#q$tcPefej2D>~U9k^_-Q31>H0rr9)XMeh#R}&v znEUMwnV1(ZEEsQ@9`*k6D>{p+VJ4EESxAi!7ewzj5Xtc00b#7$fL<}osweFw@10n7 zg8=EjB&DJ`rIe|)UDiZ+9M_X9-4>Jv4dT&CTF%QHJTAMrW7jgu`mRw4Y9Mk}q(NMe z>(PGL-j?FigC@qD2FPa9@9-!;gP{zavT5#i5Y42T|E#_rsJGf7>sjXkI2oCcV^^jO zqZql|i_-9lNcB3j{Z!OcYN3uXk!gH@D1;;4K=&72k|dTClGi{0?3t4Mc!e~9=sR>y z96WbT{3m6&?C$oL*y0Vo#KgpzopHAaQA)>W%94=rGq5*91KLUIxs&s+Gd(GO% z33Ik9W0mS$Byy`o`mJPpzkOM4f-lYO2t_aI&!yP@i|^0XRDCQ83@(0Y%fOGw4ol66 z(}$IbX&ekeN;luhIrq`TgsK~4a`aJ+j>@x`tF{B|8yNo`TR$B~;KtQ=nR1blBD#m; zbO?9MEz>U1y^>ihARb=S2Rhot+SV0$)7`i{-xR$tK+~hrop%G}J_JfXHt)?i{@${? zUR(y7;a>(^XY9WnXP@Zh+9vg~mUrvoUN@WQfh$vpCdMLqF~!tgLUC}3nEW;D5~B#- z9H}rOXa>%IY_7{V{$Qv{mi~ZU*7*s_G^?{H*#j}|$s4_`{ic}cBlX@8v(DEDez~Q< za|V^B2@N_j0#)$m>}?g&Hq5d>S+Ei-@?dWzG~uJ%D?eM*Ud2TBU8T5BL#Ec93CCy?TX<15OzYeE4aTIXF9dkMnz_6u+a~FTWh8rmU(}n>lox zdpP(X3Y=how(||R%0;~z^_Y>yOTL@pB!|;@>!KK-u*~rRx~ikIPOn;e;*pn9hW|Cc zXUE6u;xAI1=WsyNf2_fs@iz3_!PvX#ZYP*O7Dz}8jrdV9%^llUlSL|Tqc!F3u3tk& zj)4*r%WG$ek1H&yi$RR=zBDo@r8>@EG7j5_W)=mT3KN1NYX*ZXYH2G9depo>nJb81 zEY3DS8tncQ;7`MQ_g@wQSOsB)?(#5e-NW(W^hkNg*!G(5;yriC$>kY(f-5GkGpk1| zROF=Rz90w=@rX#T#%dF7Ix^B`yXI<8jCVlFW zQZO>BU3E~2OF#fZq{IfYpVhd#iq27^xfcyH`)N(pLJ1b%Xq82>V=gmPAIg*!I-vma zEzWS+nlo%YJ>0YfLt~3d+*^dIbJG$^b7v)z@~qE%6s}W?Eti|iL47R)T|)Pb8_d8| zQDbmim^pGpa8tYTdUZ!t@xP4EkxO`bH1jcA3Qkt{%cR{Ik>Dg*#KpY7>*z*%I;%b~ zt_27EIG23EL6r;%4_^BVC=OciTtG>9M5SE|Ez6dF`4meV{E(TqkU)%cpah{QNS7F~ zn(C}3wx(&+W9?S$UruK7~c2bV;IhX0;u})Z^8qd)|uIKMvn5m3nn^-=} z^r=UOAspy=Eq-c3abc^5UY6NdFShjjfogI28Fzu6tDC)7JtQizcV7ldfKWsNbTAcx zYr#P}hC|;7Th}6fA=sG9!oC_xRO=o6qU=^PxK{dqg8>4uyP;PHKiF>z+#j@$I_jZs zC0-xD9kVs*Z+1b@$SIhRHUs@&L83uttnP=?EuY_W%c}YsXHWyfVBY%KEjJzdb4qo+ zJ3s-U2{n@tjP(E9AO=;V?;DQG{&ZnsI^CTODM@Ldl*iV$$|UtUm=M{Qhu2|^Jwc$L z95V`juV_Y*I9GlADm?zaipFB49JcBZdUf%i2;Z3I}zfLbdb>`H< zQ#%Ran)6m(d+1T74!mPTJqNOLk?QEBYEhW=eAw+BoVWOCalu{w9KBK~{f$3=K7)0S z6c=wt8G^271K|sdE|77(QuIf|7AYz23A_O{3=bt?uU=^O_nXY|qCG8;dNQG<+-=I{ z(0F@F_CA6u31#>-4?)lj9kk4QwQ-%trKw9C3RNn|)M27A!4J}G(MTuNF*q1qU8UZT2>!zNAn;4`O#H{cE-PQ zrDv6xgoF-o!O4Yj+p(j#j7$WT>+Tc4Z1*(FY=W2p za4n*%PL7=y1`ASM4wkX&wU=4NBqV%j=;)depk+PV5(MbA32eHIE?HPCR@#nn->9>e zcbc4I6(>b+wdALl2W<*$?2<(hd1N|y% za@-lUZ$>bAWifc-^MTrsom5T+5`$O;dvXl8GY>@mGJpGI(N@!Pu{Qi{Bx4X&_Jd28)J6=guVpf`~i9A4A1C zCH-&l$c z8%{-c$xh6ZPa2&mRe5p6E&G)K;_Q(U?ZRHmY%8N6mW13m-9d5t)|_XkS%l(hKiqG) zgq@O(<5yKHGNOeFlN{DeGj>TjUQpA=*AVrZAY(f|)RdkStRZJ&!Y)iynApF~l;)-% zzNTJX4IIl1O4%=@q&SLyDA6!6WkNx;*Ne(E&HQAq-A!rNK}{`6S66rbqwt~~5LZGf zDpn#o>Co%c&&8g+)6*4|5(k}NRl75y+`)d(b*juQ!>Oz4q2gOqTZX}g#llEoHjE+$ zFh&iUr-xKpBzE$DaYdgjb!=1lY87MRbAJYVX@!N3ZyzZA*^qi~lGv{VhHN7NC`_VV z6>K|1S_k8TzcI!nuaMUaN}<}MIPmk2w2Cc;Uy2JlE}YoGC|Y0?3I%LohlhuksKE5j zxKV-Obv-OuamlDl4pri5C%Jz8&bfrSxIN#l_(+!B1Q zKfQiC%J&xbq9vf#O*%BT{_Py99|-{U(nj z2jz@QhEf&-yJ!I$8156W4V-2pDo|oAXA5g3W!DcKE*?r0C5Ys;HS%07G9MSzxttjo zD3h%7_?NWaOtV2X1zX>a#+ZgOKvYE}xt>Z$OTBnBbkz-~h+x=5p7sNQz~*Pc3?2}n zta@92`I6w;vS6mzSHM;hy}3NB9Otx{ZnYW_6T@_LuoD4^r%72GO?!NNtViiK=}9sT zY73+C)g!or#OSyBKQ-UJRiYbIIRf{2E`(E6)Sg98rGbP04S|X{nw8Gs=hz@o8l z+?6C=wjg8p9>b7APfzcZu>x*~mn;2pjWc^aN`q8xhc5#kJ8pK0(%!rGyt*E)8{KDA z%KV&>Q>6w8Y-{?)KaD2QS$g)H-a+oxLZ8pLGp3WzGbTDe3X9BO8sE^*6bn{&<|Hy_ z_1dd|+TD&g_qnrYbwO}ik3TsSjdNKSFI_Gk-i&O9T+>kDxIx2Nywu=_%PyCm1#qgqQ*S|(nQ`Ocj?`y=z9N6f60uilW6aTQC;-XoWv z{;4XtaYe{nrZiEe5F){SbYwKA6vE=GU_o3=9JA1pSlA>5c_dP?DymIPO8VJVbfHMv z^t#fB-g%z{*9o%2YQ12aS}SRLlhwC-;DblRxTVGRc(Y)0PO8p+3No*z_g?#5?$@BU z=y-XCw+DkjgJ7v%YB7$>XHm*r-}Rq06^C9?4RPp#jf6^Lrin@8zkEmh)JCWj)*x zVh6GW-?}~dEGzHmS+z1Gn4ZGye;>;f@%YJw(aAJmLXf=$8s18blvRIg*86S!Jfp{V z?VNjtywv-9Lkc`3COmiPQ>{;-vNJWb=3wr*6>_L_^}XJ!3{c0 zma4HsbG#b#g?*=H3N%QzEsA(F*srJiEtkY~-AfZ)Ca4Owt7jL9U%-xx8T`?q@-sl zERqlU;Ft|hlWo2aFGJkUS4_uqUm!$R8N7_;DtW6OOVX{6`ara-hq4;eN*-xY{_*27 z6G5Ay(*QAq!TT<7#`h2yY09W^U4g;}%Ho-3w5Rya`~w{U9fV`M8{e6H=09vnbBd}n z={C&~Xg$HC*d_w}^xLKha{7L~7i5u8S6N*<6j>}hCA&aDZiYP6@UhVN_QUJ%_SHBr zN3X)RoS~y_P$J@3eEU3rX~62I%J{I552?c4sN!VlylUmuWz{QOz*ya7tZqwJP&LJM^BJN`1<@a^dhE}F|-sH z>|YdBzOel3&ezxm>NF?uW=jmdxz>~wPcruOQ!m0jSm7L2*XHbed z2LcL;-1Za#2p2&qfEPC`$~B8y|t$H%Dwm&0^2(?QgUA%$mX7oLSP zjoG%q{Es^w|AmsZh4P;sCgw6HRZx$g2BHv5$ib4TjcKQs-B-(=TEuIvQR*uYMY&6| zX9|Zt612Zj1)8XSmf$OdcWV$5N^9hAX1eVC-uY3tALrWotGoLL?8h2nxTDboOm?(t zE|c%R!3L9cz?oAfTcV4cE{>kR_IZI`WEVtI;i1yvU=1Wb#bc}5T9`xIUHNp8#ucE) zEaGNQf?P`K%6{Pj1RwrhokC>Z35lnN=;=PKR=+Jg#*n1khV?sCF#B*3Ibs^zs#d>E zs;ahk)Wu;GpT%qEQIon@%svJp;BR2;3jZD$hr)GuI^+INs}25PfmkA zm3yRB?w}k+a|^q~27I#!XMZdF(jv_qS`7XHiQM=$y*>lqMeYsnQV$Z=XRclW(J`7Bv?_C^C8Y^W{ZcD`7WlLI&i;67-V zHIF2^aQiD9#;4^w65%>`iM=JPaB!q@T8{8xrJhY-3PQik=8CmiX~3+aooX5e^h}G+}8M9KKuw~QrugJ^y2DNa)(3*5eNOG`>hYPlbJ9h?>lZxIKaJD+dBU%?rs zQN^vfdz4pE?umCMe^RN%hq9;>7~I4;vzQ~P3e~KFk*lWQri~_uyTsXK0CAwQxD@)U67w zFg&gGzU<_t7i>8S1>Y+sitR`{O2R`Nq4S>}qqE3*U2~iE1%StkKB@J-6w4n?x5240 zS3c_OnCajUW9<7E>Om}s+#{pyAS)ii+y=>?77w{yY9phg8QTSRVhYWmwtjR(%fKK} z7eK)%F0OboU0hP4GUhOKb)hFcH7U&T)CnH{-5K(7=YsWjz zlB!lZ6;*6@Nm_MFaV=nyFw$+&TrzEO0*r|3`5$6p#l^}Lspu5#orvl~k(KHbSIu-k zU*8bcs@SNWYp~ zyokB9=&6<3X2WSZRM_>9n{jw?R&kk3>;*WM)?kNa+y3~Q^c8!V5gb@MRw(z4h9<^P z;)8(l9%*7Pac)IxN?LyYirV^KC6(d1-k;9t&!1vSKU?i@8jjw2K!9$@y%KEvbuiF}M869^=FNL-o3lP&He7 zhW8EwI(w+r_@Ij8y09KC4UL$Ki;HJqn36_onwg!MnsS+lI-v>5eF{fTa>tbHW5bGq zWWpX;3nHy_=)m@eQjmLT>0MFX#CAyz%{uNfU+6bKeVB+(ky4w^+XXk|!&lPgnok*V zlmqMV+)$Od)XxbMg+aledB@G3JU&}${=&VX&d~i7kubk7vzSGdU0fr z-pXd(WRSF-$Xb?|^>meWoZP>*4kc4vkYlZED`u+iplTeitPY4BZ~QQWizUnN*hM&Q~U^AL_AiwfSS;7sT9yV)a$FWr^?~G|DRE)q~t1|%mQ;^vWa~r zHyRh$VK_KI3Bq&1I0nnk)5z z)S(c)ioBB}&qHE(Zl-r@wv{FvA&eba=J1&V9L%9Ds0 znq;p-m|(#=_|y#@gt(!lX}qqI>yK2M4s!~yZ-CdGVaGL4VEao|tRUJc@<5Sm2w{Nc zsT4x4E|K-X`vmdv@q+>d_Z#L_)QyG;4fpNfLoYb~l*9fIe0mP8YeUd{lXa#Nu1#J? zwhRS#5UtQM|7?E9T|_O3bKN(D3Tz<%+D{@j^D+L$#>P(Kc1So29yV<;JWjX_Q^GV% z5G1997=Bf|hAj_#qUn$1W}kt$D+a{2YKcOXcxdIVZN?6OAT&gR^*~D0iK`SBk-*0i%BY zSArRbdq|Xj%irW~)R5HpM6>qz z*z~9~=@KatH^yBLOuha5LgNIS7k}Djlrti^u$)(^n08Q}v; zvZbE`2(*CUTwp#kTN-)>0?R2cZBaEBU_Fm| zQ18r`$tT@&Gqhy?`)>?5xltCcfyG!ko8wBq4rUODLDB0J-26w(UQRkXD}$j9gsQC7p`FT|t+SY44_9NfJN{?6nMxovknUKjd zjl)zV=|_$mI*}6W5k^NL9s8E z77A(%caFn@6#skiH!}GVpfTYafcb;rwj4q`C=PR}6|coNb@qe7l&vaf%Q-LObkzPx z(j)6z>+ioHLJLKPGYG_qP?D3An;kj)6YvtbN?3CG*+wIujAShh#&7BztqtimwqaxF z&!T!N#tGtrPrd%mrfuEj=aA3&8EIjLtn(SNPFn;0XI57s6JRY9`6;Z}xQJB>a+YOs zFCRWI%c5#pJudDx%u@niIRL&gKcc~ndfY1hAA|*(Uao8_fBN9nbkib?rDrgr8?C-T ztcMmn$Ss3l>-f2%G!mL~>b)fP!13Y!t`Vs1{e|W#li{qW$6Lt;GZ8%b7VR^6za3XT z2--uT2Cg3Dn`-1e+$%KUc4z|pSrg_`0kEC;1`gNoO1rd5QpZyCG`!Qn(<#yZ#X{$3 z>=IPkWQnXU`%DW*=gI3h*MF)GOjeC9Kkc3WsBw4A)2sJ{9N3zX_J~~yc)&!}+TZUA z1zcxy<3!H?I#-@Ah4%Kp($$a2`-R7t^`j9et1?__V^>nCju;!r@_u&yz`Gp0!EiG; z{o)Pypb)c6p_8NBn6_dU1_D%CnVxeX;+)+d`XM}R7QLFca=N#;xG=^<|KnaZ(9B2l zw(h9c)|AIhoL6azwQ@_?Pgh0*>LMd!;EHZnLq7&!i|9@g(LKia#y8&ZJiixeWU+Sb+RC4=vo1nqi45a2(8j9kQO+qrbshw& zhoS>f15}8v-)8tfnV0=zbcG}t!MJ!hn%W-qcTacShQyf-nxhk?nKJ%sV$gQ+75+B! zi*!Jj*2(T#D$vrJ00#iowOWk3aR*ejt%wO(kaiWPcuM6-Is8pJ>brCXMt~j|J{UiS z0q_r`Tl&$jEOFa~g=ewh)!xtyy!#+b?Z4Cfk>ld1LIO7E*?+xlsRut{doNyx#12#* z(-gE9!KHYud$IR8_Yq8}mbN+vuNK|aZX=LiLAgrJ$l((D%Bln!{Q>vleEIRSv_hSXRx5@IX2A{UW-5d2%u(-MxnH#&2JBrsMs2F~v55(*`DQMlTaWr^_}>QmSNRx?5lIQYp+z*^%)s5zIauWV-^yMif%og<#IMEWI^ul z&JQtUXqPX#-1YDHP-CW4v&1f^&VS?#79F4=x-^Pp;uLqSDp|)sDNTlvOdjYge*<`o z>Djp*M&gq}RDJW&<@I!ZX78y{dbnMbr@r$^3<({VcBbo`QAV>XbC(cPVO2Z!6h^=I z)$`Pe!UL&(Yqz2o1~-jJx2C;z?G2TLZDSxgYs)XZRV|Ixdfp| z2n1X5va(%!7e(CHGZbQlHC~;hV?RN|2TECnqtJ2$Nhltan%tXS2acTV%pB%k<+tq4 zpxKIr_jB1oF+?M7+F2CJ#`snNiPvO4>8`dW!J#SSAd$m|Srek^g4IBx=eV~+L@MN^ z_4ROnT0uE*b|R}QiWZ9@nZ>Q%W6voAW>7L@;kgcza`^iC_lDlP8j!prG91cS4X(~u z{rvn9Qu>nW>>odV&}@Nqa-<9@_kdl3W!ty>g56u_IHpCid0@w(=7EtI$|1tN#$L%S zUAFh}zS!R0eu;}qiO`*S1^PijKA6TB?%T|-aqL9U?hy`t;Xy@iZWj<@xI^w}tX{4fCBoGo;<-0E~Gn#>zBPVmDU#dwmk!PhclJbq!0c03$! z>U{lHb@BbLe|bWNI_wbW3@Iw>TZ?FGIk`#UQ7mB+%*5KGMpo|*VG>M#1{~5ZyP~*G z*T@HzoHW_^eXlz_4*#q=!z+5A`%2&3`gue$Z(qFB`8ALxeY4Ac?&r1gumX*A zO$PupX>OkH(!XOpK3M5pnUtE^IGbI`C9(7SxzkMhZLh5vR;)Rs8g57&jOu1xUk&(w zTuwH1pcgSB3esU>daLKL2v%0HzP|dtbSsS8@1sLm@?lc7$Fe7jz5G`VxdaNz3} z?BlbuZC|!(gh_v2FOC>%_1??dtFvDiD0WkCAl?Jj=9@Qfg3>NqPL&5S$q-DXp=82524-!sYd)TAcrJXD;W$%2E2{4_I138z+XLi}RvXo3PomDZbiD?WQMBV+h4W)XM z?WTlqik76LOM?al>~bM>pe7!#KwaYaXc9I~W3A6J8xO(=ws_C=$hbwFAkdboKY=`N z*O@61z<#qUDbSlN?F^;j)cui6g&Fw*x#Z-6SMwxsk&{8R)gYRK{KVUkf4vLh$n2Dm zyU+mW9ZJCkwdEh%WX}QTiS+g zwFAAx4B>%!@~Q`jBpg8e>p7TXR3}eUyj*pFy#B1Ahy7Q_=r9$1{S4c#aD8|`Qv!yf zaHGJ*R^4CVKj8@1cYv?tisN+;mU<`T(+bA$jjBugo%?93m3_}(AqV8q(*EvQxoWz%1S%?tV?ASJ~#zpi?D1l9HZ(652SA1Tn+DO56DkO6*5~^ z3Hc<_0lRL&fIBB- zjkd`e22R!#T5!H9l>wE01k>I7Pr%B<#?FOoB_t=Y$x@b4Z4@Ep7;}upuVi7f$l%~a zk*_SQtn#L&DP_wIS9mPDIj99~Vqga?X|e=`{zbJEg&=rlW~}oH_Lc&@>-Tqu_hq3t z=QS6uXT!F#2K#LIyN^!k8C%X3TZAh}fDDWPyx_106O<~#e0(sGyk;lqAdM{Yd9$nc zda5{tRhBh(!gs!l*6c7Q-<-fR+uIDbH3X7LsU2sxNRqc!yxZ)dnWfLRztvNTzzrq5 znSB+w;F_ZpETQgRw{E@Acc0HMVRZFkN`Nm?8^$$Ey%es(8FzMD7Y?$(8|FPK9B3(N zw5O+8ml1l1{lj}HQ;z|x^7i|!!+40RP}SaTx21iTCqqhViveTz#8=s*@maG>gSsGb zNP|~YPQ6k410%3ahk2-=p2F^O9{=8QSlc{9qAWdi)fP(1A21^i<8(etK{qBLJNm_; z`u55bXBHi&+AnrB=xt{I4P8S8==oCr?2EdO13`#TZiv~+M8|N(cnr&WAaifVjhzUH zW%vnCpN98#HS~RR>iu99nR)^f@Q9?_x=;P|90(bqe`?`!hYLD#P-#hvYpzLlclway zHKk?AbP{8C37o+GnO~sS6aB6-5DK-$peBRZaonozXxg;{?y9^fuV!Dyml$6U(M!ul z#?JL26WVu)U{Zvb!oM_8(Njz_A<_N-X5?>pI3~)&-qdat3^haT88n9ar%;rVW^WPW zV;$!BHJk~GWBn-A>+XqGo%k6k>N!6<&-Qr3+6I0j_!yzB`aPd6F-hl1LIoGNrDhs4 z!yvH^*^1+{j$CtZ_aBV9vn#xpQaeFPuYC;Ca{i*&s-u~0^_I9)$IICTAMOBxCG*m) z@CtxcM%qD#hth%y{ff`D8vJRbUdcc2On~DA;m^n~IXStB!Q^ho$r|BXvZ%&+tr$8p z@DK=ElvNGxW=tiD>pI?r#xZJaZWLJT%l3u`Kgd|5y)R}P5CtMk&@B^Cr{vqPo}n3d zrs^!oQ9n{}eIa+Zb`6ZOe;RuB&M082%0j)b0P*f#7lsTZHbw5)k+_2M!kM7fu_`sM z5hvv#gM+<=#hb2rUUNeB0)`dfk$_yuPO1PD$$aTo%A>$J7AOMVGe88Lh1x~o>LZJc zR8HkkXm+9l-dj(N4P$tmLNg0SyC1yI9~hFNHO&F&+m?0hkbw@7U8bVntrLn2MM36` zr$N`?KPvW*Q z$Jap<2`klqe)FkV9ghhf?6l)#BlIbp@}bp^40b5;mgx1^JhV*;yz^5uz^2jOQsO@! zo4mdDuM6gL#1|;JM=E~eS^F9hc-H)`^=Ks@tQZaQpMDpAe(=!kzN9O21_GMs97Ywu z&?q+0bS{O^mhxW{xl~AsEiE)6Odp_x!Dx3qyZhoC=57d>N+&@yT}AMGdAc9pqhfO2@r3xp0F{?8zG)77MdKg-!xYMT zumI0rm_Y)GF3?iZ+&2J z$X<{AlwB?+W(+wRBsS}$bv+~PVsi-!h^x-11Yhb0*8tZxECMfRK__bt|5@FNYy?k( z2gOPJUYx@|2Grk;!{m)^$K}KR!my9`bIM%$&y!s|Y&vzY2~|@t=d06f{F&K19lF^; zK9a(j=Ms6)=beV&@aM=$5wPQ%)0 z4C7Pt8^AtCcQbic&|aYwlMJ7&rm_)X2R#i)upQg6~yCxIH-M zmY?EK7}YN;A=Yw(l=JhtN;{6M>%aaL*$U3Cj0dRqI&ySqOEmQ=`l31`=KN{+2XFO3 zkHM4@SHIDcMKZC6#t*FF2w$#zW~xMXt{xTMexF>8m7pMPB0?fOIagu%xtS zt1Rw=?RNIy3Zw)43x*|5*yG@?Lm4`<_(p;7^^cp?Xc20eBAZX2nBY9AG8zL2abr`{2C&05UW$H;vtx%4GRN}x5pw!a z)b9nlFC+AjuB`m5dV0WFV->Ww?*WI?%YPCUkv(!DC{}Yw@SdTHsJE=tF4g+W?gZ?L z%iX7EPrd@e!Np#unJ@4x2@hY5L!0KsYN zYFok1R}|#H3S8NQ9Wp-qOWgRDo7!7My@HUKf3{-{@4&~T1^cIKgOrw?O9wS1k5rVD z)X6$sX;U5q1v8KUudSgRb#(|g`d-+bnuZ1!{jc-%j~k?D7%Ci%Vuh>aSKfYH6`cmB zCqxtDTU`Fk1^3=paB-b-T{D}#&W&l|WUah2bT8_DhV6W>I!zB}DaGlQud5&<^)4IgLysK!4oCy8pu$cc$Z+ogWLhJ+ z$76HUw>{5H8Q;<(u&}b0-_#`>A0MAg0WfiHY5qNGkcKbm=5uZY$$xZrpWN# zYKL;|iu`aXixHgTy0f+KW!LQr#;$k8Z!~O=yCZ+Ig%H?m)FPN^W9bFIK8A%^S1dI)wxGvo6%sN9d%q;UTzTEcxYAH)TheJuTf20X_c5|PqjF0ygkHE zEoJiMQQI>vkge!5Dl3ymI%!xIZ`2I0ZAA>4=UyX*I$4|cMjospA{26a9*0E8ku5j8 zr$FB0(G)!kLEE7W+6DDVd1o(;&dX;sJk{F~q{^G0TXy!C{k_ps9UAyLZX+E z53(T1X6k{03MUH-Vxa+XQCVaA-}64>_4Qoup)_J9SZ7GZ6!bMb_LZGdO8n^R@^UaN zJ=(DL6-p|qhL2LdtImL0vz+MR;Nt2oEEs$Q$SRMo=R&`I`$pprmW0mZYm3C;tlYRs z{rvqT=-?wCAXjtewzBswFL%okD|RJmN3ep{1vD`O2a@ zGra?Sn~Rka^O?Vg9Wep3Kmv^{ZqVI{6uO{EIIKBfc&Mf3;^`JB6Dh+afr(Fn;yl9L z;ZXwCQ5CVGt`5aLVqlkd6aPgtyTA(`(mDojzSHu0w&iQ#73GjM`maRGK}t9P!w|Og zrxI_!YbY}XMKbsmY^a5u(&#hc2|S2e>7H2?m3QqJ1RDIOM@QFrMe3YbQ*Z|u#SAo z9yv|TaIZZe0J3nGuLdh|NofliVQI^H`6bJQoYr;PFd83Z=KAtBqmnVF&$wyCbiL;7{Nm$b#b9 z7)m+Iuy+%Tza;*WfVO#wMt1%h2)i4hxasVeKxi&6_s-ELclEMxRGz&H?vs zn4Zv`ZOC0X;P8$<`ZVk;+0YM9DO?BTMrYPO_#hokFp9A4v=8*Pkk(=orD+Xnll)Zh$ihAP>u1xR(C=W?HO5jK>OiiZP9aX!|V`hz-JDUeAw%xH{ ztu?+?C!JFJJc^Vn=*vNxM!0Z@Qyh@2Q!GO7NNuZj z&?WOo6PawXt381t0e{4o;{e7nr?3NkHN=<9Al7nx^LOrX|5mok!Gd1BX3)=QVFTVQ z06O9Z&$nkib$WM_m!IV)s59ZsB71R9eEBz}eeG7qn(u0c1m;(C<+a;Er$1>sKa@?5O_QS@g0u3kir)IsHmA9E?hv47a)iS z=_n-U)eJs$r6sBYr$3zK!BdDW{^VI)ip{I;J5d6NT!`m!+{bj%ca>cM_KjiB(gv4f z3r!X&9Vsf?<79%d0H;7idi%Tj^{0KIPj)h(&v-x5wfMo5uxt&2)`ATq)pQ$6?VapG zFUGVYNDoNIs==Kp-@y{sh{Pz@L3co6~o5^LMrcciMK zn>j9&;qiH1kOTv_fEyytc~bUjW3>FEyTmaw7^q_%;mnXYk1W51%Qk%MG4*T$Ke`N97YKav-~IXQzupXpt7IewlFMFGHBYj;j!=`i z0CLmS{J;obc!c`Oj{WDrvC*Z1L7;p0N06k@;M2897=AXfD~3b&a)-48=joWP1>JxU zzK>KG7zikgNZr}(bE$O$1l3MiN8b$!$+hx|C)viobcAoftq7ON@&gs*2U0*=luVXM z04yJZT@zn^hnrdS7Qu4?Mr*WNAI6z%lQ22QhnR1$9`(E{3o@U?S%ybCG0KbIb4QNd zh~Hz?gV3z(O&Q`7m8@NV145b)pooM^m#KN;=0tZK^svDi9rA~MDpWcNecCaDZcYMD zF%MverOr;3l>%kE(I_}al0ie1|YWR;_g1!#qz%gBrE0cOq>%aeXbpvu#+OZ-|(vn|??f?_?^rkJH7v_o= z&xQP@-t{KWb$M&dvvw<-zL``oF?vQMHT5k96Bmy z)s>gr)zrA`No;foYS;6IvqsTTjr{IhUooSad*5y_ok?@BalV}T`Cp`#CMNnC+c@{T zYu&cogWOQ*gVb+i8h{*(v?0p0mR*)!DlpxTLt*yjFt>vKIqOTHY~i+0>cxuD8) zz8e7TuJ)rgMq+$Gb@G1)(W4L*x)vB(NctzLkUmUF&Tj7O`V9}zQDrXX}G}fvwH6Rh!5$*>_0xrrqSyg5&#(W z9}Blkj`7Ad9V_1Sb^HTsa1KG$4gsCu;&F}Sr0dB)@(FA^KPmBU9h&aT9d9iRdxI;9vFvx;H%&&S$x)?iT$RfY4yj1Hp)yB)? zNO|JLh!@&C77eXKs>e>3+nlDl5U39+{pXR9KffhWMxkh6p!`kF-f*k?B-FBCp<47u z(2_UW9#Nv6o!UFY4RRg01qikUm7Sx?_c}D=XVe}3c{>q5JO@^0`Q#&Z&M;|ad92!? z*6oppRB@srU|XL#lD4z77a;2-*8MK1b%R2fP7!ApA_6YA!?+Vbs~VzNEFDb!5K+ef z6CGa9%mzKhIj|nCcDH(zO0`Vrdi{MwziTVWiMWFV`7jRSj~x1|E9s2YgK2huS3A=o zn*&oPj5Q*0sA~S21Ja4M;6LnL0=NLbN{(8%_=w&NT!9NLJa_1e8C$elbs{)uPwLWQ zFKJ%;g;`MO0#mqZ^j!s~~o^0~ocPpKs(iXo1$&JPL0i`gmt6~jta80P^e1Q{XF@aV<^ltW8ceK z&(tPSx9t0kCQwG(R1i&L?Q8~$R3I~(1fowE3XKuziPx+pqkX#zt0t3}n8@ydD5k*> zi$em-xuFedEi)hAm+BsaX)g#3Dms1Jxrct-$ntV7M!J!P9~3Kv4NXg8Y5#o1rWNNZ zbN_shvHksa!!*4jyv|x$;R=WCU~$F}U{1h5Fw{p*y^N5@paCT`jDh76&AAElYK2^G z?-?Z?Ip;t^l>|MjNqTocx;k^fmK4^7u*bu{3zj#_tli3;TI~m&!2P}R`Q+5n>a%$V zVYHIB+-AsCH-8-D%1L%1bYg=+91iUo{@`X+Ts2l9k|()+G4(Y5ZLsVlWa-P0Q#U|E z69l@jC^OU@%uDmv4Tl#(nMj_pv<$?|sJ6z|Zs9Ha?sWVH*4Q&kyVoxqzdk#(RbV?@ zF-bo=R9*^bv03W^9J>xRc)Tn3aP^2+9TXI#feVKiMc)s1upF4WFE;fA-ec$Um77v6 zInNuqX;$ov&(7DDfcdRB6ZAUQzB+#(CF%G8y72Nb=r(e16oEgR&)T9l06^d27Q4EL zp#}Z2Mi6iUaJjvD$3s4XD-0l7@}SyXb5vIV7J1;@U}>Rlr2xE(J#obi625w+-MH(o zpluBc(&wFuf0mNzC(D>$jCkHkEXY8k`s8Vdz)G|%> zG}7-lm|llz^nEW_O))NL#dbI;7oETc4lTw><}a-BmJM%DsmwLODgzt$!sXECkN z52>fLCIH0Nvrt|YkhMqFR$7dfn}0FYZULn}oMe%HW{C|-xq-XU3f(^3Y7`vquG{(? zHa#F2#@k)-urcRvM~!7E(8uc+wfTKRmUC>^As<6{$s7z;HSuZRb@N9%09O0wIKS^nv8E2!SvHFj) zOif6+Ua_OuOi%VObGbMOGln(ugJF9d=s;NAFabSF!%eT$^WqxigSwK6D*cZthg~|g z_vdk%Fp%UYY)4TF5;XvUOHTJq{_i9|yk;HL8D&X^;~-Ed;n9gzxeOx(x56{8LXEIp z&(e1K0$>T;V#5qCd2c^_cZL#h)4x>5-S(Cgd$Yc5tiA)rP!U%Lg_6m)*Qd6SA9s>8 z`pbsB6SCH0aph&_^8Gb6RJ*8~juGebT9aTYpY`wnO7vC%NJk>h08zqD;sjx{F^?(J zAJfB<(nwN49Nf^<*H4t#tZ(A%MBYf^Vsq@Y+_4@dAq}mc@8ADR1U8x9|LiWK_WKay zwv5>Y#7QXM80z?>C|9^}Z`u{d3pG>AMzI30FO-LAI=5*kzJM)-eO5V^7N1X-QTJ?b zyMrF=Q&7RMGvtLlr|T%IfBu$alI+jq4Oy}n#!+=%Zm3Lvy_l`!pU9Y)jJk;b&&Dzy zc2MrkA%t7-^E>W3^7P2w)mQDAxzMzQZubQEKM<{M*ki>XAqoHb>#tS!wvS-uRe!lf zJ^pgGU%o~-oV)@QauY$yg0f0pLA@WpHqQwKU)Y7c?4|5L)o;j%XY+H^+dvi?$sT;Xr_lc<&|R z?eL0AfXtbAIVPkb1J8;3){=+{Id-$YBJ84`oKWicuw*o_Foa*jY#d-bo z>bxTmc68TBRzSs)^ai$g19?H2y`|aF-%IVY9leK^Ba{W@M~kfkBo);d9*K(EM&~U2 zyrhnBl5k78QErXNM>a^&ZPwYe(6uA&lm5)x@OsL^LjFL%XB+~3v}tEh`cXg>lH_S0M!ZNrOMyD9{RYqm zR>(Du$>is+1LOzp+ii|sPX&_0)?x<_J0rAg2S^<)pQGSZn{3uAeH$2I!f{*IG>%^H ztE*Dyx8i0QiQ$JC$SAqelWzvhe_(UL%Rcy|;?2p$nm(FY0Le@OPa2(oy^R`wlB)W1 z++&+r_NNs?Fx^IwlmOjNw2$~+|5~YgB?jT|E9Znw;ac1SG<14XakIBU&pqH~f{3C> zkQDP%V66ktdtJ9PPr#8lYZg6u*R23+|CNXYxyYND(G{uKVqI-Tx|k>J;#LOxOQ~0` zx56gt$zb~)V(mPs=OKt#3fDh9$L6etOnm>rCO`+lu88R@sEd$xzS=Dk5EH~YWgB+7 ztC|WbF)b-uK8&E{vttKSSc?BV%iffD6{d+)R~Wgl*IAr{LPu@ya^mZOnqo}g<=gS(_>5?sVpG$zS6K?6SV2@`r#g6zOoSuC^w<32=4)= zN+{B0>BZIi*y1MiBsItIJ(DmfFUA3~+0ROA}TqA*h4t~{{1?KQL zhX*L$gyBGtOLGjlHgy)=E$tNTHme+DlXpp_-WUV`0TR5ysk|dql@V&xwUJi%L#RYm9 znE&Lm4#u|SYRFqk)H+IFpbXd8Z5dtUjfF>+wJl49PK@h&U1RX0B(urJBJ%FWCC3xS zBW{`tA{Sx$MqX&Bb~kixo$~cG%E`MVIu*GC7}kl=(Tm;;-I_LlY%a2$feucYVUUHdGT z15dEqG3R~FHMmYiB&{_@N%Yf7vI?CEy1$;owj%5yl>>6^GcVeCG;)hI;~P2G0QFt| zk_M5^-~uWs_}AWL;yL_Nz3P{>C`Vu`(~J{~#rE9%VrIy#=xc(wXPz?g=hVjk!jY;@ zRd}MCJAv1$+^EKXyJA4HeTD<1_#I)*<#jDEz6?SM2itvZ__zg0i{W$Zt|PU?xnU_c zepWaxN`W{#dKwlw6~-%kvtNh!W<4^u(3e#FvtCZY=ESqovMf7gDBjO;=(ba~GoOso zRQSI_zRZp&#FZ9t}HYF&>c%1*hDmo)x(GFu;t#*WPT<-6@1ZpslJeIcHQ zr8yL~RrlM)VZVwBejwrw!pq^^^2&NJnyZDB9}E3)4$@iP?)h^frq-&@`*HwmL%sji z)(d@zrLLheCV zy9H^yL{AxhxK7PukR#*iEi&{K?yqj&31*E~P zA?-#3EzsDJ(3of?3Yrln$AuYAn3Q+l<%!QAX(K8+sxj%YQIIt@WlcQwIU(&9{jSG5 z(fvUsHe)L}e|e~B_Ydo(%5;Q+CFH`&!XgtCCt-FV!hpcCvVqxDmm}S6ZNWFezu*o6 zX3}7`*jQT&t1M$cms2nOlGE|NFj$lgx70A+R{;+a(u1O< zjFv*1dBzam0)eQb*jqEGfU+$ybQwyDroPjBF6VQsKJHfkDl;|yoSkJc1kS@Jp?gOT z4;&}ma9XuDKMouipBOK7mrZJRX=QLpYWUovRS&bqQfjBBq0VDmyL_wBs^d#u?XE#| zSJ)zbg+7<%DRT=CpI%aoZ~=gnCT;QD5nlG)2W4Y#oaZ%)6@{5Z##3jbXyTcKL*qD& zB(zx}+A^{FsIf59qc0x&Lk4n+Xc~r*ze$HkKxQlQMFJaI`DIouJeEtI_tnKIv&n zLpQ6<8PQ@MsYfC^DAO7D0*(d~vdLX$q6J*GXxp+-5 zs(An<0OnF;!@NKDfHi1JPr~?%nIsB3lch^BEu{W|&^r*E5m9S@QQ4iDH`{8gE6=q^ zNwoB~@0;|?Fld_yr8SV7H$qRygx(UUfXac7SP$s+2y%)i2n5*)vyo28svY(-`FAdj zTG46~JMoO$wYTec4~(s5=4py*+(rg5;Wh=OR<0FofJ`8?GxcMg7$SgQCR6SE09yt9QATM05Y>S;N_1%_*H$sDGig3Zu-kvbAqd$ED1V~QHzc>&s zT+q9h)e}hEume~|8ml?a(E);TXX~eAaiKQ{p5^YLp|K0d!tTAlJxrP^R$WbKb=A!? z^*>H8sxAC@fuk{;Gh}-D5dza1k9~Us81%||C~a_yi;J7w3juwuVIDYZ>FV-(?p=Wl zI0P7OvJqSctJ_Xca_P%~T8dC9%=L16(EyV>CMFp+rXAyw3+P+kqhU0sK+vYPk>UWO zrB2hGx)hKC29j>(We>ww0EGarBK?8`4R+Qp0 zv5V)sFUq0bjLJu{ho%`gVq2m$77YTBy>77X0d|BBJ;1mpKkgUu;ZB`==+nMmr_F?> zTI0C|2kf3#Xv&&8pKd{g4K3z6KWZjO2iaDB0+9gm0NkSIp`GnFaZN--Z#cD}KTgzD z_1W|1jb%2|KRzyx2TCAoy)k6fsubv{_et+{5t1^^k_%oeper8eA_i0o6h2;R~jh!92TIJKR(lOH7!n z|NII(0Co?6wnUQaXH{H76V!=b{VF;|K*tc(DOj;ox)GEiD~hdb$rca*ZRacJ9cECz z!blb82yJdO0%Xdy0rE|isah4(_ZXWES6#9zSh;IZ({oVb^Gnny1Xhm;_{h+3ngRwqOt91eD^@vDXqF>DE;Mi% z4L;R4)g=C`zmOVx;-A;0tTDLaR`6@!R%zT>Y@R-S>eeLZ<@H^U9co*CQ@s_^*akQu zVP!dHh=GfkycxJ>C}}@d%2A%7oXyMu2i)|@Twv1&hiP3lb36uH>D~D6>Wde-9n+yXbH}`A|v$Mboj4Et5zjELRDS;64bSWL9HdPq!h5=x4r1SuXmW7K7*oVMGVbHPgQ1c9eV?H z|1#Gte%u&#NQyZL?E@i6@Y;o1>4i}b*sh!eudO-%9=YLZ2!g#eVUV&7tS~V$PJoK7 ztC0Po=&(tI0Sm35O{la#4IX9nPhye;wjxV{>yD=y{ZM3vD<7tazG|k{NkU!26UZC3Rw_cW-ym z`>dg%AvI_@dq)#!(54LqzrrsTU2^+kCypNv1wkC%C{TmqWX!zo;BD54yYVR zIg{XZz11opEUcSVzOG9Iflt#(a(;w)fVVdjkh^l7W>oWPzA~%s2jC=Xj(Li$H1V4H zzLtjp1T4FGwt1$_(0ovahmsX>cPe-1ZK2I#?(#$l66xTO5GEkcB$w?hH!kn2w931= zl>iBsJQr9PfWCbPXqfMF|JuLt+FjF{`I++xS@=}%-o5W4l=ceTS$g|o8hBJXb$(V1 z1k2qT)Dq&N6LxwJqe!CYSh&9a9<4C}1K`#Xy0rtX_z>1fcu$5)`JTjsyv&K`pQ*nz|=O5D?W0zSHifl6?Worb}ZFduU>xVrjg$5>5rq{w3%Ss=dRp~GXa4C7U%CC1@u z0)>&Q4T2NfRs#spLmi^xHI(UT`>qsF1xPxnl%pYZ!cEPN@xKwCK%|o zY7eEFKL}Xs%EFuvSs2l>8b1RaFtEiG-69OPrN(>p&0W3wymMFvbiKhaAEgpX>mYDM zF`_&SKCqIr%6j%sYII{uOLrJW{-6WM=^&hKOMHnUIq*wfJa(3gk5gJd3T7rYw#14| z!a#%{{T?F&Gy+zaVU%k+AL#4`jG&X!S@`ZOcX(nVBSoT=vj?=?mPekGhnE_9wr5RD zPR?X5*$riWvFP6hW+rmFUKKfynNra+?Q+@hrFTn%DB|zNg~8G_`y=`Q$rem)d0}E= zg2p3UBB65$3PHJGw?xNYT^Q7(;kPh$IhS@3+3}j9_|vQFVCv3V=GOg>Nw+BPjwoC0yq_o ziZBN1imC52nlG*^rsa9JJk!#n8q)|p5UnS+{;VlZTZwvW(YX$PgipBf+$mp;e{vRH zS>lyC+S-p?J}3pg=x9z(Ng?$A{{8zO2JT(;@>N&N`Buc=O^@b_u=h%qC>wH}igg%t z?wJ`sPIz)4CeUIlsepiFhLkoheOGjI9=_a}QTA?crUWUXQ%E*)ET-@RR7OBVRQ;(% zMe5Gxc%Z{dvtT1MHm)GmG4NMsC6w15Ywzkf>L*3WG<|n>r8DNbqr#gLU5@?Mg<+-Ht8;4u#g2-v>z&`* zm0a&4s;cA(UU49FvU$=1iYwioY}3f1F;GsfvsiJB{9_d5;hw~nQ&H<;0IeL6_)O314Lm>Cl7_GyCo@j{?JmfPySMO)G;gF7w#$cKwHDh z0&h^36Z!$I)eQsFxfEhKXND^)7i_jbXWpUH`Z8?qv*Sn=pg(RfW0!7OJlcVlaz?9W zzZcNB6(nS=zjBn@!ro`<>qi5O&J0`X+rLDi8@1spvMaY_rYm+S#ztxP(^)W=!!*#Y zaTTu4@^q&b28<(?YJt7CjDSmba{Q;iA;m%|ktVFlHEku55VCg6KMzKahrO*$sk(+; zfDA4#F`Mkb;pwR~&i3RD`}IE8G?m*HX4*3g*~j=3V04Tkr_3w)dr%+PKhatDwOjF+%G2_HH? zy*P^oG(#@EwP^b2Q5rC{rH50~R=UqdS)Z(1MGoOtCuq^Im^LG9=Mj%o<@oTk_nzDs z&aT)GpcjMfHa1EI|8jk)Dl^SChTuyVrVlRCS=$7{k$Ch*hRvnF}zJX9pX5XB*3>*IdmUoh!bd*_dwW`B2sjr{4*o@sp{K~GEj%18-^)CrBR zC)qD^t{J6npzmJ$`{?oe9tTOD0abk0k5D#EB@z$Bm2vLN#k4v#ANXcRoy6Y3uj8-+ zl%M>J?tuMYhkw2QoecT&%V|ob!+#roa5#$mW#N_o1?11iSD3&M@T>CL_~D29Pmr-9 z|NhD?D|7_;i|f7rSGOpmrJx9f zV@HopHM1u7+;(0bH4LE>WuXzU$qd&4D_#LB`YCvB&t=rNwi3cMJAC&D#>6JZP+9mD zRp&BMN9Jw4v*+dIm8$w#db>g^S8rl@*_gQi49$ZWI=U}Mm#>_VSIMn64eyoFmMm$k zeYN#dX>XD*ch9=b>{ck9*o!}}Rvslw7)n|+1W|d6VC{`3UFHkmhEXr_3o{pS)t(#Z zl$2{^XV3O77d-pUD&obZkIQ}$xj{PL|d)yqQ?yED+ zC3vH3>|fbdi<;VoX$LqyUS94^w<9PA@56;{?5=hi7q?_#;;pQ+G3;n5=IAlsgK8XZ zf199?xTryBWbiext0rlA)6vm+f78)W%S_^PoNA)9km`;0c*LAIFT&1_X~X+&jJS2x z`1;BzD)!FajfjYtZWkPj%t-Q(*UC3CoDkO}W>8&K3HEI(w-<-TXQxn@LDKntV_};`SUS= zz6;OpZa0Rj-rU-fYYd^AF6xxvxTI~Si?vH^i{+Ei!`kI$W0b{K{Ljz`Jd!MZ{Ozdw zbd>g**5jy@zHDt}w_#1+v4hPscveRnwf!nty`NGh`MJD6KQ$(l6~H%M?FDE2LsS z!j;Y*YwWX?hVubKk``Z6NMs&_*o=5CS8uz{_hh*So<{xJM4Z{q6Roa!Tr*9j9mh!# zrLncWJ#U*I8ynlO$KdtnrP%iG&rj{^4Xxt^?Tuz8uMD+#GHaM^-0yK$PRlU`i&so6 zF6LtQj1~+yP+wibAS(=)wq%uhgj~ISpZd--l{~!6!-q|a*s;9$m9_+7^|6eG7+PV+ zhf9^q5~4CZ+r#OfN=wl7Ms%*dmj_M@dv6!x=x#l}n>8ahzbqmtX)NipyZOAb?j*{= z2JtU!j$;Uopb~C-p2K}6)`ESFzCP-aX0OJm=dyUBjaI$TrQYMRN zetoH$r?6E|=12QzE`9SmlI#Qp+hZqDWekVL))Lmv)k}-$jERXMuil@}&hPsyU1~FM zqsY8H9I{N7d}%j3M)*UaH9n7*LDKoRO6*4VZRRWT8k#Qa@|hu}EpJ4|F}cMxd+YHR zFJCtLxp4#~bhwQ}n!*h3Q|G2odAOP~F`k9kEcu2y8OIKnT$ z&7D_g!cI0)_S_^kUwzU@gIO(6my3<<){=IVOiA@7Jfx&0BiTo9{x)eJv%RxT$bX-~ zTH}cF6P?JAM15V%?7*xCvpC`p;g2N6Eel`Ttyk9Dx zrQh3);?PEK<8*a(r66J+sxA(eyx-m3eK%NYtG|Xs{yU5P-7Tq=l@+sw%%_zfkiE(D zJ=mA(&DQ22Zfx+t4y*nwdp`MYVq$`QZQ~fqfs20rASQ9`DC(C@&p`dR*QZ*?4))!i zU-aHy`x({X@9*#EHhKc}HK||iH0mpJW~ccTEh)dy%m8arvL?qE$u=E;qU|iRJtGdsnMNh4E zO5zJrGcsD?wWrbgc0WUX*M7=q(!+syqp8YinuT_GCrUduzBXnhTKvm-QWK>898})YARC}8+!taTC=&4QPRK@&j@_S5ijbxa7*+e@&h*YRy5bNqw4<}1O_+!U*I5R%HLxX6S;g3cE;-Q zcx~xmYL|g!bsZhHW!z3)vF(u7(PPKb%-iD}3Axyonf7>|?FxSDzNVCWubITe3|_r@ zm1@!$!fV!Y@g_Ta#R7mQc>fV0gYV@Kc9z}g!Cnwj;nC44kvthky|_P zoQrbkND|lAzIL#UuW3P+&Eb&`S+X@j*lEoZKBuJ3P9tc?Ip(z*jHAE()L%)$mYJ26 z@Xl(a!o`JCRaKRelJdp{mPa3UmMWFgm6N%Ry-B^7_HQB}_^Y^(#&@a<7Z^p|mLg^7 z-5-jHiRJyS9`#yP^cFR5i=o`WXR1EXme6#}qLkH-U{UOn%aoS}90|CFJ)xy8@IpQt z_u)FPz&c$CeTv#w@_PWDFmrP&S@mL=731#QB$W;FX1B!)=GX1j6X?Y~B0Ur{loIR4 z#*FQY6dygRnz(wnlwSAurw0qo-mBi`Qn0bH37oxo;>3wUF!pJjQsSJ=kCc}SLs;dS zJfmt4*LU<^qtwpglu~D#0*h&dqmnpSyPcT0M2(5$Jv>@s`7E5>hKW^q zn|mC!FOQu{HETs*@=$#K^vqo*K0#vv)`T#{fX*h|q^0AphyTzDg>lE0pNJ;;eDfJq ztC99IxTLG7*LOM!?UFs0|F>_ld?+2*xwqW(J7AbB`(B->LcnKHFYFu~zO2L%t2)-p zQ5Y>dpN~0`F*n}3vbGLxsuvP;;_~#g&}#`^1BsF8H8XaFHpv@ne_N{8RIELt_E&Eo)^K!kYV{IhWzFbudT-ylDl#-{lm#BHT5z2EItTWy z&sZ!|&7y3$nWyr6>KC!2-qoq*Uy}V#?Z`j#3*CI-{tlZF@WS2W_hJc^@QHAA1dpYz zyW<^xg~Cq1w zZK~zs--abslo(Z&vb=w`<%Ul7PWP>&cTS&vZ>rs;t6P4MnltPx&-zW*{RDG(Cl8*X z&p3BpGh*EE(^TI&iRo)J2H7kHmIMr0=={TM%2p`j6eb&j6~u6k)AHV;rcECxHz?@E zbXXIzwQ|G3`Oq(HYX3P~u|4qd!6}iRqpm3;%|3-UjLh>DKJdl5r_oaoN#Qj5GA+Tm z^G&_MR$99EXXoawa}h8z_dfEbYcnSP%`*^@lbv_kjX7FY0?V2dHH#Z!IoR_K75l*_ zy|j2a4NHV*DB}o-tJPJ7YP6e=FWGacTrE_b)T6%b+7fw_c}aWZSat6 z&&}}wW+tYG5(m3ZpG|BFAQ=&c$S$z-k1HQ7<0%Oym26c`#T{^>L(#NsQ8pO9@a5rN zrTtwQU-#9JQb)u0gXvln$2ypC%M{DkXp)zC4l0Xso!=EYf8lmzXVf0uv<+Q*;T={b z;fqaZ=G-w5LLA&_o;*YTs3yOfcQAvb(f8Wg;6^AS8GUzG0;))T`W3f3t2aio8)JhY zA$E0jO#wpfYEI*d@>hx%Q2ggC4GXfxP`vAh-d7#7*j}6Cb)1sjyXwc0QTjhWzzJ7qdE z_<$&z+~DXN`i%Mvq%iD+YO08t(1-VD4YZq6Y&9Lfy*lAIo9HILJX&oAxjxNEUq$5_ zQV4nhIxDmvlNd2vkF(ATyJGa>-XK=e?QZrN>%N>Yr1lmG(@eC45{Db|U$2~v**Sln zq#C(sy|N1~EX1L+GNu#uo@)Yn`s4R-M3sD<@=ApV86)p7?4{k>bdglq=j5%lnyqXT zt@e5Mx6^rxA9z=5UV$`3Wgs^?;XsxldVSo#a=?L2$|wf=Alao@lkta4a%fe)XXNoM zVN%2C*BCoYs=B67=dxpV>92hPTC3|uVVva(yk+DSvW$ou@NwDJj)=gTrLaysEqkx6 ztIe`BI9v`r&%`?=i>a1V?>Aa4vMJ>3Ub=K-%wt67=bvrW>?<0scb-F`437Ql9-=yB zgtFbqokd5^5>v*!Z?=RMK0$$KkKSW-bhN^WH}m(a6lUy|*`L>Juhu;Gq$#g>uGszb z82IZ|N+njQ?_}EfR+z;iCqWi;S&iJoFS|RXeI7pPqIy-Vx<(1u2j>!7IG@)HD&6-`m{H)#GI)1x&8+Pw_sU~~hMP_A# zA)P8)>Qh-6NOG^G! z-|xx~-1JyAkqMS|CvKY)_dbiK>e>=suxOI1OuDRMD>#+Sjp{IXwNKKOlVSh z!~yzXUt^)Z&5V4``g&BK+j>GRXovcr6D@)iZqclH);C6tb~DTWmbB+_pZ{lu*xSG4 zp=43;rZR$5I>i;x8AHtgH;DR$y^D%gwB1R-@f!W3XvEmqITQK&?oO+5Uf8*_)-lw{ ze5$j0y<-C=%R#7mriw({qTtFcu53lEQ`7^C2+)t`o`(kY?O4_G-SruSjrY+RGF z5TDdIPR8m-9w-{djrA$R)Va6A;W(AS>M^gc5t2>Q8|fZOio6`w8?=L77QN}Fq{r2$ zmP_XcAEc#%4?3#z-LT(z7FCzrc5A6J&CoD*>#=qg)q;hUO2zyrG>Ho#ilA z^roWS-s7kRF^|5UemL=3Ui)9TTh2Ke!C9M;7sVIb$CWs_BN&DKr=;77`3b{I+$eE$ zWN~_YG&pD{yu+NJo58W3c!ysAIRvhQ>Etj9^AGs;BXg>beir^w>4uGN%(wpT-p($9 z-)akPpN`VkqgoZ|b|Ox{gtx^n%9#h80-N0fn{m%~Us|b9uzJoqc+Hq6Rsi$n(N08&@}a^Uq&%YB1yi z?~J3S;WT{N`xiCo$lcrg6fVTBW9bdZzDhthBQ3l=ux2sL?eY@e()%nbCgadWZq@O7 z=?y2dv*)!U?CEiO^O_X5mOO3u?P3dqQlSnNI`^;7g`#yL&<*Fm5qo3o)bK0?FHKY! zj(e?s*}it|N7?dN%?D=)p+@N7e*LrbeUCZ3ea7YfRO{^#rcZG-Skt zz2RSPp{evN0!{w`dwGE?%%;O5Grs4{Iv+o`fu8BJ0lC@PY>GH)NRBAz5671B8W|z65RP{Z3ZNZ+36WjJ`ZhWvz$jU^H7u;VuX!%Wpy&alVmoNKJ21`(Z&eh!bMouwYtj>! zMi!^$rTJk|u3cDN|0-8~YZE%R8xN#AReBeXs!xIqmtMlBE^M86L)^>>E?n)`oy1)^ ziH$sxdqXk!^tzix#z~^-L3)FS$#<%)ntTC;@$%J5*rIi4`N?R^*Cy9DWnhVN3-cXeQ)cj;;RDOM>AV@ zyT_;1P44#+|NQyjJ2EWq!Jlh3ysTS zMyfIjdmd$X-xr>il;>@RH`)?x3-=$t%X$uBf``+n>`U2&IbwfKu$q@fzFlUGmsnxZ z@l8Exv#)y^s~cg;GA`&Z*No$-5^1hRgAEX>!a+4l*PZw)NRoMRc=G~(=<^ou#8j=f z$pat1nV$WA)U4%ghzCll@cdyfbE$k^h1(HSjNLf6 z*C)}RdChbavTh^qfmk>OT(>zu;oMaMjehS>GFBC|g}n{8wjjA+-@%rPTOb8k36%#) z_t*V%39`{E#`d@Sf*D^;2a68AW2Liv{ zI>ByuV}{N)O_hsKCH3p6UfZrG16S0K& zSn3N2_|?~W;R2-GNvEXvO2c)gH26>OCL?&j1<`n0Ve4ppl}voe{oSd>CyVv(S?-lR z@)0}s2Q@gWVq!^5_Ye@y@R z*ZpCeg<^AtkGelyXK8N7CJg0JEwI|3wQej|)DU6dQLa`LtsCQQ<%e8BAK&f;iB!c0 z-aNv6dNz@H#&&_<~E4(}W7at79?HV!C~7J?79v^oWVJTs*^*f^}>j_yXS*??1)B6$sTKMZ)=7fQP0V1)LM*(`=NLSznBcoZ}+w+tR48}_v zLNETLym;}#fXE>tQc*`hbLy&noIR#_^CrK3Qfy_f4i=*w>>i)Vdr&sVZb^IICa2N2 zTB^fz=3k-jg?=r3?gj^k!ZwM(s*kmcQkLA)u&bD38Nk{n2hj?v4Pxzi6r#DKN^OVG zJ9|$}On|}RRao+x_tr0draJFqZ*One(=-_SQ>)s8#QrDa2)pu=Ct+fw-0c&R%K68< ztJelZjO_z<+Wz8h8EaG+EzeFICVrD|=3om?EgB#WyA7?iDUn{%f(z8LCh*`kKjr9^ z$dCFSc$ZIxh^~3Fe@o!A2+4af>eMM-Xx4gpg-B$_?{FEEeQCo?LHEh!=uW>$XjH7m z(r9%h<^G+!(_1#Ad%C#JiZ?6u-?*4d(Itb&HQu0I9=K@km29Dt!)k04!tDiV!$d{+ zZ;9T4^Dl)qT`W8{_9nufYyz3`E}cvBxkgkc5I9XdHM@?@8|2W}ds6$)+)!Z^^oX{_ z?WH1M&i+mJ0gZ^LaXkt_P^|Dh2}&E5scj zCj{MUCMqhbiceIu1{IFo(Ae@8wI8igzyYCAG6fW84|Z16Wj?YEx>@wzYpN@2&M}e_ zD(O|P?n8<%l?}Olv|ih&GM8Wf>Jw^ZWs0rkMBB8u_RPqPS)1M=9OR~s*;`c6gY4OL zb#(@R#L^d6x$!+&>Lm2=Df$<`Ud_s~K8m@f7%vdz=ZDGy?o`P&<5BF5H*e6!+b=Q1 z(eK`cT(^65YJBu*$SjVNKhnZ_`0YYv)8NtjQk~an@w&PRB;}CiCzKt~7pUscMZe!k*)YN)2PT>&|%>4YCz|P5dS6X(nSPm4X1<{FWour`W zbazLmbNN-0wmjP4jhPT}Cz_7*Y9%swLvwx# zn4E|f$6sHMB>vFy7ilHOqa%#3DSH=bzH_@NaOQN6$xW2Z$5NLXM+Ix$E6F!9_*R+t zuy@_mlJ-;ts~0Z=DE!Et@bcx$Z2>{-Lb;u=urPCyo3KVv3J|$Uc@>xi$;wUQ7IkSK*pVY( z>uf17*V_Wj%xP_nKx^mPGcq#r5cYa)I-#RB$38p#Y`CmIHB3WpA^wF3X# zM48T(00DhV8Rz%mb^?a?j>zz4DyFuL`8*1hRRw6KzkMg0S#{jZjSP_RQvDP5|6P}d z{>qgMdmwt826`3wBh(XXt7uElzW)6;xuo1t_vSdX8S|6kv)IF|#9Fqr@(i-<1I|#Xjc;gacIy_IH#3Hc zIsQ~-OB8iO%SEt6ZN-Sx>KcTtt*m4@oVn}%NcS?UXh;%&Up|E`*EgHAH?OlHu^to- z=v6K~e)q`O<;UT%W8x6wub$Yh(eBlw+fK!29*MEz*76Y`S~|4EYd%~(eYbplpj30E43h=#Inr!#p}z*;okC>2HmM^oVs7n zkMyvp`Cf|O9I^|P)ZMOq09n9@mStSS=*9SnIY=a8t8IL|79F(W7t}Sy0?yH4E_6ZH zbDk=$USp$QGh3_KI=`9)dbAb4*&?ACH2aEC+Xnm3-ujTe$MKdVaZhJrcKApDy@xEC z$Cw*d!6-Xg)Bjpclfcq@8yXhkWA9UvrCrz-Y}Jj-l* zJS!O)8F6zm)R?%FoqpdQx0R0YX$I{o4^DYA{?kWoybEtAmC{O> z-wxJ#C}mL66NZ+18~ zH)Ayf?X8WK_XXR!9-elP4(%LelC%@XASr(;l+}}P5<351_lTDRFb+qTq+N(!9vxbY z0~+nx`@&@l!UcXsFQ5j_I{z%|hsDh0CdryHZm&`@l%FRc`$uc_gAWS#Q_LE2K9w?R zQJ4-1B*asP5kup17!o*#6FF<_ux)d2sxJXG{C!p7jMvW*`z&$GDo7OOV5!2 zVUIU#zi}6xLaJbZZhjbIp(s1rOVZa|@UG@MXk*Hl zZi=tbm3$286v5!PzI9czPG#ga29dg<^P+d%2aaWp(tf>fM4hpQhV51U08{l>E~kb6 zg`@9YYVF|o;Jg22Lf$|}y<>4w_*y3$jp_lCI z;}d(1zctcv>%_GW+V+-QNlEnP0Vn$3Bx9p@cl!DoJlxdcyee*tB5`rI7s_JHkNqj< zt!HybO!n@EJ}bxA@k3@_$W?e0gZOxXkM%br;e@AKKM=SlK&h1SE>qb5VAIH!wYZHj z=nN^kX5HG#Rp)NhieymTZ0R5*$F@qE!mRGynTCm51Zf&6yRq`!JM_!*Uqz4>(;4Rn^ZD) z0y1|3dCNb^#v4spK?dG*zb4bNNt`7G55=O+% zdtAY!mc0zq{dK0pV{ZMMJG0(M@(@TO#9N(X5LCA|~ljoA*iEi(qLgSX2ALe?lu#?nQ=snf8%^-Vi) zxxD-}N}im!ik>}LdaLiWD|73_Nb{j7*(qvH9E+0W7vI|GtPCPSH!Ib?=r4FT+K~^X zE@=uuB_Gj)*FQukAG?mU=3x5+CG4-}!;K(QxJ94=kRMRa}X{Uln$HYyT(#=1BQ+0fjGUccG$90adH9fvx&FmP)Y^znt2uxagK&g1fh@k znPu}wAVySr=YOH>CC_n;$a;Av`@&P$EjWJZ4q%+V+ozAG4O5FS1DL^^q0wJ7%%M2pE?JN+vb$N3AV_p$_Fv%!c9NMnz7TAuqxBaQ2^{Ljw{W#^|w&4Xd{5N8b{sSDn@!oyE-!q0NoyK3sdCeAgB?l0(v@FT&e0td#gqtMMX{iNtpWTJ6) z4u9i27**%YqKa|c!{Y?PryF6wY6yrj!Nn($i!U$8qt6B?(GW6D-N7IGeI!PC@lMRG zl=1>C(er(EiH9+*LJcY49|QnR3R>4gYSHUrW@&@_My9&bI={m_$uS1#x(u6v3W1(6 zTkQtK?DEPQrG?-Tq01$czhY@}4{FM{{!ne%HaMM=kqVHjxeP2@-I%L_&r36NZWQVk16UwQ*ZKm}$|E#xeSPi2${v!P{ocbuV=oGZ zhKPn;AF~m9>M9FcObcy7X%8h_Rn4=S0{YRCk9W>cz!`+Pf-iP`yQHVTuz13gnFIS3 z@io8KEdMv<`Ns|SmHI2Bt)$c5!PNZouksTmeQ^e!izQGavG-y$BLFM5Afy|auZU1Z zXmn%qzmG`fP{W~q@QTRSajkO%+b!0`%>mljg6$L}wWDMdgo+9arz!|}5rU&H9vHb# zUy_rP3p4iJ(*$75vN(hV&veOiFwqPUD6?8hOgebF^$AI0yqB>HI@1l=Y5{ zbZ)5PNVg6sD#z9FH&SN3D}PsuqGNA8AW^XMA6cVy-)!?h0)S-jrWeLB|b0F z`S*`|eR+oZPiLNv;k?b7!`NLF)wx$zqRpt1A;ibWHx1g! zzm1KJse~O(0~@LNt(ZWs+3ouk)Rpyiw|AF)4IigwmdiaNyP}mgVK;O|=~=rKF`bn1AjP zq82M?pEUAxbET1iWE)B^&b_&(`8_^4*&ciKamdEyrRZU&&lhhz*fV>$!3GJ^flAu= z0>{TAXo~k;jzqJI3Myta)apOV8V|8Z>^3pdv0x6Ry5N*sXnu=+V-%Usp0s zogVSD)?8^>i#o+D%r%5;qk{#!2@5mx+|ZXVUw9evL1G*@8`W6hLP%B5P}&v{7dQ0T z-?Bi&ouf(Fageexi9Mcx&yQwJ z_EK|8)m+XF??i;+tofai2UR%+<%Ppz2aZquCWn#}SjOy?I8{g1RvcpvuqX$rSG!ea z1`Gt*&#~5&Q@>+5k(BV&(Ea`Ezs{WL!Iqbs3BG7*Zoauvr2txUOVEH0#BB^ag)aGv z+78~CteQ!~9Zc7$&||Js8d|ll_Pz3U%qzPIj&a9Y;!iH63Kg` zpZ17@wz=(yqhTj+r6q{C%>UNs_blSH;>dCQxD|WpXIa5?#Ij+fYt;7sd{BDaDGv#L z@flDRM_oSFh9>9=2Qe@IH$5@$)RdD0_q#8uN>^glo1|ztDu;3`$=;*nk3sljTLtz?Q z-m}k5_I&r^-)2}e4`ibf;`6Z?yVD|sm3PYmtp5S$ewFY*^~Cpx{(4Qg`M*new`X+! zDdE?s+GdkH^XgVllao(Djq71I@${)-X5oOb8o7r z{~iKGIfin-_|}l`LBELsHb-C4?wRF)+S#uq$iaRGb15~yH83D757C@?J<(@Bu7R>W3MBTb9-#1?*va-^M`W%g*7z3ac-&}iZr*-0H@3ens9XFj zEF>Rnthp(8)U)5=cQNOH(|4WF8k}X|VlT=d09c}3V_)m2)o5F}Lh;+ZhY`sN`Y_CD z7<++wRD(sbw^k_6+*nPG(s7WtGC{84TG`dNE0>a#85!(Y4tn=4T=HO7J?X^+nIV_$ z&rfeg^Ri1Pr9rpN;Jf=VqOow7l<(WSDgsTh-1yU38+z3qC0?uTf+BKnR(F!&U^jd{ zk1$VJE2uB|FLQ6CNtu@LcG?4k+##}w_%5?yg5*;#HGI-Y>^-H_Jfe=jO6Zhv3$u>v zK~D2^?Bm(z?th9TgGp759TS(3>e|pWJbBz2IqZJ`lLoV{*sp@)e_b>us8e`(!(C3P2a$~PKJ#&*P9Lt~EUbcaXx@CI-(imO zfy)KIONWnu8j{;marmY#jlKFvah55{?|u|8Dm#qh{;k@Al@0!K*nS7~$s@mFko!Ld z*3?0mFrmJ-)&5jN@QA@*hc^N0i+eWljb|`{`{$GGT^3X%wq*;LyYz-*C_fI6wJ7NN z-jdQ<;?W(^xO4_p_BV-dV#PXFvqRFAKH9Lc;}Bcs0rSS~=~|?&akjkTJOJ(JzI-YF z; zNdTA3^pC7FhY5ZF_MF+PtWGcRnJzYN%~Gqi=LJeAkJ;Qv zpwt~7w2DB={2Dkih{N?{(?b)1{GBN|VqI<;GS&pW?^%z$J6cLB=H}#FE_|I{C9OvW zcs5cK1_%@ij(SKJ8}%y(EYyQk$jL=&h~@;OcgQ_Y4FAk}*+ah4jW6GN!|S4(fZ(}b zk#KQwNSb*wmgXFdwab!xV$D%Mj_Kt|W)n}{>;&T+xet*+28R})S{V{f=!-OazU>u7 zNj1-db;+~`&}z{1C+{pXXOp(E#q^~nR*pjlR0Z?PgMP+zz2dk@F8lfU;Y%nD^j%|n zsu8{holYGWSv9^@z|1I=MXmjB2l?cjw+JilZOGTJy)@tT1Mp{A%1(uh9FXbWiAfPW zpq;vd;Qj=1FhfUdo57Y>2`L%}lt=GuE-Iz)&E`(io_LOC$6WRVGoRqtp%Z|B#X$t~ z{X>|3O8$dmUQuuAM`ix?o}w6_4ls)r5E%H*=`*3!$4r&xO% z_E@sjRS@+hVE!ep;-yLfK;$`95NjYM+qec!$4M6YEsCNVpM*g_1rX!cN$HIsL}BCY z4O}~JEa4e~=!H(e4hP$aqpywXj16(g-#_LJukGiVd10RCfvq%;BJ2}6IhRQ+tl$l- zz_M-N#lz4Cs=HO<3PC{SdeRJ4hP}{xmp}<5z0X*f>ETVq;HGb&`4n5#BjUW*p>!7E zrD5|Ocy9B*o@(d|YuK)3K9!pJ7IE<_K-6a3^7Ra7N;RFg2Ir>g=IBEV{PB4;4HbTf zQr)Z`q5L37KSR9Ns$cR4b>OYO*Mkq`Uw^raWR)aP8$^vNT2m1yuIT#;K#K=4!XNaK z_;u0HME<_XZ5@s?D3x9t-;=o^qRjD>O7YYbP)|W{o$D;EaJOCk%hD(#4syPOy`jnX z)CaZmX8S=qaXLf{~&7p`<#Z5#^6-zws#e6v`$mWPoIS{5N6u`;FL&HW7}iD3lJQ)$3XE zFELjysz)7nu_H&(zJc%!Dv2fAo!+i>6Mha-opNT3wYnSNg4CQ>~Bbixi?xu5NLoOkxmh9}G z+pwQ(p>f}Qcyo$eb`Bt&gd0B=2C0jms8gmtAMn9>l}jSX;N4V|wozDQLCHL9#aoZRs78d#Y_g@`yCr&eu5UoFOxiA^%;ps^* z#pdKo2j@J%sczxMBH0={^`yx+J=|NK#Y@woe*LDeV9}})~-r_ z&YCukv;&N zlL4SbQ&ZF5@5~(>9I_fc*B7$vfy;4g-l$j~w4O$Y&eeh+KYqx+y&RR5nJFt_;P_Q% ztY1X!ll4hNaA6RVUh-gSaOQl22T_gC3DUXYuv(^s`dL1cr!5lLD>T+wFQPVRXWv}3 zkJenqe|b{Ni=9-0+1oe)TlOPIj;K|8xFjwp#qvs#pSDCjq2Sm^4z~@=YVa_y?`S#d zU{or4M~hB~c_>837bxamcC<5REMO3$fUcDD-`p<=n5nrT-~H8OGl`^x1kS9itcvju zFbY-s5pV2k*bqX;0aK8#y$<#^CMMP06V)kbg|0z=BIk#7Pv28*;?J(V1{VaWX^LZh zpc1sBV{TdEQz~pgOP|lmBYF)~(2o&vpv>)!dg8c74^_v%1_VZ@`zu_sk#Q1U=qsqr zK8)(i)hGO9i(pmmQ+%hv$v&q+z zTuK+=uO5A14=S{dHsDIFw9>=llRaT{hABpz8Wswu?vs)mlMrdX;iS^%~ zLt7^5-%ocdOGZHjqs0E+>g|-(rPg;bRc(W@rHXqhbM!QJNPeW+HrAB+RC{dtSJtDO zoRnKHq!OyUoH&5?Lw)t;NPywzpIEDPb6ur>^S>Osqw^)lPM-My6L)h|iO~_o0(Qgw z{YO1Nre3||B*d)lOEk8z$(IhIKtT~H))8RS;pnqB`$Vq!*Vs9f-wsmcK^3|!AR&Qk zYn+_mjQRpaq()g`R%tCVKE|?>< zgwn?g#$}ON>xmU@V{gsAd}Ct_HKyVRdU|hT43GUR9bEBAl9dyI3WY?@nisu)t%3AI z;1=MROy>>P_u+SqdAz+v_>^%YkM~kQCFu6+mg4J3q-cbW6bn)`_CUvqH5yZxDbj*D ztQjY!&9(ycRYy#aQPi4-P=@^Y{fn%bn5P)&xXj!NSdekna$0!nYF2I`GH6Qwk~kHi zEbr`G>=TMN@>Kk9RydF&B2oJqpG_%x1TU_4v}5o7NmO2{M@s$~!Z1kgi+9`NE5wYJ zmbz4`s%d9djUc*N|BDrdkYjLPAF!B4rbsQgfg0vvn!vz9LsNw9u=?_ zt#KNya<2efg^!AscSR-@_B=F&#hqq?V5ai7(`WVcM`4gFkttOsgRF9z3)7|*Y3~2P zY{xKOyahnYS35veVIa2Zvgo@22^vo)2ciQ*#EDbnUtGL&Nw=ajr6r5&`#aHKDb*SW z($1J#proa6hUh2#$X&u^=@TdiTi-3mh}|z+nK(N`9*r6CzSk$6p+0ZYXTyJ#-vhW1 zW`m)>htd5TRaS9ZfKjcKIlX1ROdUZ)cQvn%Ka5hXUu$kXch#EzBs05M6Oy&ri*sn$ zVZO#Phn1%!Xd5D`H_YKv%dY$HVjFoOlbptND^nx}qv)4x_hPZm%VYyC3ps#)P%4*X zg;dRKB!4bbUtqDN(GY~XBvT&rd(kkJL`BGIMewr$G>tKJK(*?AA(R!+4^^5rK0!IS zVB~)2#Iw&hY)~lCfo36pp1d3n^u~WMIWXb=BZ|f@Dvqbg zNiK_4K8{Y69tZ|WFaNCWokjoqb3UKb>8bZ60f&cWC6soCX|q$USFCet9*O^8l=iCL z>OAMSL%v2r1Bj;~SaMLv{~L!q=GmR0sN8lme3j7NfyV<5adgA~b9i%_0de`=4)0A@ zUU3=Rkg2#UfC8j!9GSXw5&i7#ZI~Yd3G{&UNz@XjSiiD;ZV6qOnvRYsQc3j#Q?)QN zo7*_`%&HW(zC!%4tC>m|Dl`|0qIj=JxIk}7`?sb^Y4_y{TwO86+d#-AFx1qZ1B z0JFou75s`cglFwVSq_z2rw)e~0_8WF9jz?}`$+fG^lf60ix>&Mnzn)GD0=W1)x`{s zT*(J8*Xs(quFJ|9fC78sx-dyY6*5lKp(rV&dXRjco8TG&*B=tafnG z6Xu#gpBw9R2Ia?heZ0Q^lh=(#|9fLJMyscuYWX=(6>j&H>cBjRaJ1|ncBPIy6GpZ)|knB63m z)P!aX4{;r)T&VA79sBxncVAx(b0)C!CjWJ_a7`;K2?Tt7E9IWFH(peMd@1nByar1R%nRp!-Kqp6-9B37!31GHPaqUhfW5 z<#}-PTSM2U_VjwtAbUX)a$b(vh|1hgp{lmzZ{SoS;8aZjuXJ60MHZCODV;-op%_Xo zLF5H5FQ5%!3l1-ND0RFkx3D9&>1fT~<6efCg8I}H)y7>}DznYyA^!Pu8gf9;rF-)%V5 z9cTox*&LucUUPw&Q7_!~2c(*EkYh?(&;rXvZXeO1+)ou^Qkcc8LKYSmo; z9S@Ue{voATc9HjFWUDq3P)bNZZTu&o$`U;*1R_xkJl=`nVcA&dW&Ub{Es_J3KCkWc zJri-rjb!Vqh|@X9^d9q`?oc8r+@W9>bL&A!yNBNc6}HWw1CZ3*g&$3#XD)Ry)zbfz+C_M zU$|1jEg@A(FUQ|UVRXR+39nWi%u@nI61p9kV1n}h3b@7l!o8^~nMnsrUBMnCylxR+3w~F@lP#9Yv2V|=NqwTGz-G`AYYf$ zhHp<4)dptZ=IH2X;qyspIeGa*&G5#HUoTJ9(IHU}gEUkGRc#s26htGqLH;xx&F4ox z1(6VHZeuv$4MfV(0C^!}uN5iX604{x_zIpwiWZZKQR)EdqN}?b0efLEW$##xpK6XE z5%!U(cc}WE)8MHMM4%)<9Ko;IoRK>0MAfc+F&=@fGVNK8c4d-&Pa@HX<%UB1m^Ox9J=fR)wUk#uR>c{ zNC}ThO|p@Rfb4S#ynq)_&~M?CNT#}=?)vHijrCSzvDmB-&un#%mZ9do>K}xj*bexL zp-9n_7H0Y*Rr{DhN<+RTBsSoyos{0Ll~NhiQcRRRvGW06vqgM zQXXohfh$~GWuL6pV7%UIAS(>`d+CF|?rovZwvcWW4deq=0sqWC-r@6v(VD`I7tInN zo@(4^PYy7vVY#cbN+2DCeQrmXC#Cxpe?Z>Kf z|5aYU<0x3qu`9J!F%*&3rL;l$O%i?z8N}hq!barK4_7CrpYyJ)mm(T1whYi_Y?-E+ zT}<89#evL%YPfGp=7PwhH|j2_nvPCfBdVRz5fSPW?olg7rT<%RZy8l(+qUga#kf(_ zTTu`cP!MTQkWPy(Ns&@1=>}#`?3?^XDGp zaWdys=Xo8m@7vLW|D~$lyQ?*uYB@piA?dEAKhUToiANbj}Y7cL6%2$0Ifd{+A z>Yt*Ue3A0Sr1L7S|5Ota2FQOJ^IpX5fKSJFn^PmMcJjuBX6U8Q_Wyn^MTT?6&Zo5{ z%3LZbg*Ibwu2CmwG#dW;-Qi9vGkuq%TpAR2!yd+1u$B)+vCkP9kC(7@QTjCwIHQ8R zM&H}JNgE`6PxJXzA|l~#L(UrrjILfNO;CDUl>;SbuK()Yw;HQu9iif#9x9wi`v8(v zG;I89q-xs^G$09DIZwVF)7)G58T+auRWwFETWekk)ue@$t=FSOaCvmG%3_%cc5YoyE%V~Fd(6i>co-k&ei(&!A*WXZB& zMLEF)bCCKgjJbAtZO&&_boCql>8~R2#+^HN5cr0huZtvHz#+Rl^2U=pw7Z6fFkieu zK}Xir%U&%7Ws6d?duYuZhj?q5-@9ZX{vWV3{9nD*?CfltAJ#KJWBIN|@>(YjZ5xFj z!5U5ckxK_&wi48DyjZlD-#?LFFx1wfsI1s|cC(p(IRLmHkxJN!wjjwnNiyNrVZpLH z|F)127ysGf0)0!pzkYNwE|Z6WdoCbg;H8{7OY?({1{}-*!X~c1KyeC^Q>~U->1pZ- zyKSYp_KzhkbX1QWIZ_J{16{OlFXXh$6$JxPpgXV$To4ld`Lz8d!&VI}+q`p|yS<@U zG9RoiR(A!|BR)`Yl?-Opv>7Y5TYOXm+i=6j+q4BtDrr9hRW`t^7K4QDVpJ~i{tw^@ z*MtgvQC47HRV2ADJSYN599EO_!YnRN16sSkzfbzGp|C=)z~cMZa|{>$>1P57X5+tJXGlmf}`kC+>VwD1<3?cYE+TRu1gv}pXOC_%j6T#LrA{7 zc&W>$xwY$vKeQBhf+BVghnCOzWKn{G@~VFm6BOS8>)`k^apikvf2YWbH1rBF5BI*z zCPzrO+^l}&HA6|8@gCv-NINs{Lq1bLbXwKRNLcN`rn3=9ixrZ{g|(gxI)EKs5bV8l ze?L1pIeRtE6dQrPdEZDMucW?*0!JtBq)YRyf||zXJ)x@#aedDs#hjFv2$f4@sQML- zZnc(^hcJyRD^~NLh&hiXSl;_m$cX>kL-)+!f&L~()@Rk&SAOBz&meUiX|}s86A0bJ zAcvu$3kXU!GKS(~^a@(_hE+{faG4WDck0nSO5Ez*Cj%iB7^_D(Gz&{)F#~)A%JVFX zpB#nOFojf;p92@ww%~J_k6?~^&xDw9m8X)mjXW1+C7H4!VPD`(%;clTVNDC)cbwV? zevwY|1F8q`yT`&hPWuWq89^CH& zuvODBG@*bt(z$H^OT6Cn{5+V-$-0VO6cV5l9=Nw9I%=h?n|ICtve3<7ZF&0WjNB#W zqEsnJ5eh!0S=k~&R3Tw!$XKjaS5AbmiEO|`PA_^HE{#C;g|Hs@&GUg^n(zlr=r({b zUspc7SOH7~<;`HFA_I#qY!HRHC}^CXI-chdfEWRI=HrN{(koBcb}!AdbzKwJ&zO`x zi-}p?Lq!r^=jw;Ty4F!c6d*msjOattPyVHI*}AQfN|f{3^jW0Y2}W$fV!-rAZyOA}T*%XV~n>gyp4quk#J7BcIGGHf_>Ti__gO;eSZ@}r^k2oK>BarzZ{mN|ntvdtYpN3B&Bl$oNRyI_<9MXPPTAG6IzHg3adR%C+ zrdlr|#$U()({WEPLId4zvF-RYWa0xv?Q|9L+TBE(f$II;#P*=L#JGnWfy&dy<1_~( zJW0@@54_5sDI%0Z#?Sd#J@@y{!?3)fOZe~WxyyBmx#RKb-6VF@h0>@x6Ara6$BgpL zwaoyh617YJ`9a$znrr#`KIJN2EJB)3P>PdW_!af42DWq7H$QFALMdbbN;_~O(wtwO z#~6If+TU)WvAW*Anj(OS8T;><*0b>FtR?(1Eu=E>L@zku~Lh z@l+mdzRH(E=uN{Dq=8>Dpp%wE^`O<0C?Sn#{g0H3QpZ|$NE1E0m?9ul{B~4#W#RD+ zqFLjj!mk;={K4}6t}}tnt(@Nn@gGC0yP&u6{f_Sa((@^-cQEc&yg^~K!lr`ys6eYC z&~a6k8{85YOz!c_EUx^X$bjn&Tj0!xvdVR6s0HlaX*h1XfjwReT$KH zvUphSn&d-R?M}1v-;ykLd|%j#9(_9IHLP-4_6}|B=?mv)iz1+bs>HoqCw1oHJdiac zb)UJX+~g%k2O$6QPqM#FxYr1e*!V#2HH>>FmLN&D=E1z0eLn^D7yKC~40Qf*JT_}$ zR}RbN30f}iI2=Or!tJ4*F@Y`a;`sIVbI9IYVp7cPT1u_OT@B4mKqROHEebw?BIV~| zH4^-fChj;@BMW)CkQE=oda$Dn?_z$Ar+QcVb!0B)q!dGYJf>bL)6t#CjMy+OiTOkO zDRuyCrDWuS{l*Bs&MdyfIqnwvLW|ovj-2cn1*norkc6J_%T-BpA-7{E2@1D459>Zo z1)amh7qp22q3qbjKc&>(TeVOG4+smS)6M`7MjRYd0jXi?#^B2Z(Lcl@*7+6{!NRWKc)G*MZ__!hppv4rLhh+2rbr zG$zeVDb-}X4neYBn2~y}%X}=5YIAkzm=@cQgUtnf%xi&?)^#XIn+hrw07N*4s!G`0 z;$Gh3w>HlnLg6C?=T(f1-E zzac%W{TdJYK6YrEoGjOl z7ILwf-#Y0c6D?Hcw;vCQWhQK!52mG5U@w2z;b5ca{^*H9)E1C7563-c7J#ptk9X!lX_Dh|4mBG%d18X$Tr9Wg5gNSMcnn8gFm0UryK|kS2o+j zk0`-0>j&9b?JjOjY9JbLbu5o^eO?_u6NGcceoZNl-o~ClaMc3HN|XJTk7GpidaZtc z9N4Xr)Y)tLHke>-69QX>h~CcfveQJ_{hf`xu%e=|+48aJMcSpr$qN%Kryqm3qS9V1I98!@Oe8?uR7-W+bDJE17lhX*%K5 zL_*hFa%iWqTdhJDt!qUNi~)8Hx@(fW_rCI)4+*&RgJn^{8@hiIbe=}xrca;Z_(oIa zCV{%DHKk+n0b&@do=-;~eqmC>t1qBCA+3Gj@K7OVb=}qn!l!mlCu&yV{rU2aQ57Gm1=*?S3XJ(p*wkQXR{@5%E9%pmIeb}$D z1lqErQaw(~X_3?8)2Eez=s5;&5oIDXb=9F=7jLj2 z1(m*}#@XnV3OMN?bEbPkq9fKdcS6J?+Ij;Uyuk5_QI=yR+q~ZAn-6ESgai4uOhFA~>Gyt| z!;IuQmkH|Gv|MzUG-x>9lGAmqR>$R%)O%s|77(^2ILXy!=ooly^bBRePPD){Ni+?n z_YJy37jTS1cT=$Munazaetrs5JFws%4fm-~GCc*o^XhuLTm$GcSOFzl1}Iw{^#D&5 zD~OeC=S&peS4?s&@SGm=xbhp6!P-SEWA&;ZW6{s@R9j;K^>!aRcj#9hu2XddD!I zCgNzj%=#najKz~?vcto^)}3qqo8PVnb&q|@`*B?^D$N``@bYuEM&TwcQGyKu1UMiF z*CWa_4mTY=`Sy|-{Ynp%vo^-_A(hpI^_>l^J9<&j5#b#NI)Qtv)u{w;vjIx-ZD(tSkPbNyZT4&TX>>< z+JZ!}$yp`s;Z+38L_UUMj`Y5Atlu|OvU7BO{=9I&rd_6(+QF43W^2evZWvoX{f4g+ ztJ~2fxHUinf@eHwT~$`OEj8J+bZ%#N(cG(Cq6yqcW}G_JijX}kh1GqBlWrd%oNGh5aXj}9rJe)PDAxyqW;N;haqN;j!C)59G zq?#A_dEK`J41xlTYQFATDhceA;-r4pe#&;FlDp*v8)ibU`=ZZP@if^ZYOv zeFb6v>uh=Z(#2&uE*{BKU~0>N&K>k)-;gui0OlOZMZQ^4Hz~+qFdTdNG!kR7`ZLCI zXMAsVKXg-xwfghT50qbly?L7t5-NcGaYOKFmVpFEkDdyu3VpGSzt>F!>Tgw16oD>? zdXZinYO1Mr=AQ*=}*vn;qiL8$KT z1g1vTibZMmu5m~1HjY8qjPqRi;1ce>+jFQ= z%dbVhL6ys^zT>#IkXHO{vGrBmxMY;%A8mwm;7kO|#ZP-Hb_~Q&ESclC# z(6NSmM)63oR&tiBHzS?9B=|GgK$FbfwWUqL0tPT?uev{3?z?2G{rvI51qn&iL&|v4 z)pvw9GBgR#9@wY62}w;pI!t%N?Sf>Mruo+wk@28Vp%;>D2epW-@&fgMj(=9c?`V&I zn5D-73F^I>r^4&j=cqI$8xKAM%=Bi{TblpOMP7Bw58eXPJ6H)jVShu|Rc%rd59h)O zcl0udepw zfzgg|`pM@jbvEFDU|k3{tUoL7ga-|ljr z3irVs+je~Vi+Lv&NbJs6f&*k5`MfKOkyNUq5;q0D5NPon{${tBCgpo?Q^jUn@hlPk zuoPqJ2@5lk;kF^Mm^Vg`0vj%ipZvmO8n||kTv@h~0=n$U3sSP(-ISEn2i?f>92@cH zZ$Kjwl+rF*-VmEM;Ka3_$j* z&6*3~$+m3G#3y6L9UV$!!mgzNBzj*_QE|(pM;?)lcrC~7(e4sL*&$Gcw`RjoH_aeJ z!Y9rk8@}4zrD-sLeua)>Jum6F0e7Sq^i-^;n*+fq>se4xU@}nn00Lg!o-a@EjaY;N zS6e2#bcqSZo-nO7)YK$(tSKw>7Fio0`5SVMS#7Tyy6k~OQ36OV6JY2H{6z<0tLoU0 z*#m`=u;_Bc3EUzD1CWNYnd=jeqHrJruz49Bg>8VbI&Q|Q{#_vR|IA25+*f*%AH?Yb zV|R5jSbOeBZmH4*4k00}&v9`Ld*mDYV8+dpy$Z3aKWICH z3Y^~8gb{LG7Qah!MLCQU`SM){4NXvP{c8!<@8*G3kuV5O_>Rmc zxX7!ZNE_06wx~r|$%#7CJ0H^cFD}g}MeDW`{@*Do80Pv-h>3|8Nxp&BJGsTv4#wlC zinS!=@AOrJ$*ysHev!egsM+xo3R}Sa(*!AiQU+T$ZEaSEiOVAJW4$#SdSwiB9lxr{ z%Rdg#SB{HXOW}w-MSkmNw|c%w%1@`%w|D0j^qxISHoMaSKqrTN-1H=v^%A1gcZc+T z$U9T6TRjEo*QTZMj^lsqzNH)QHX=wd(?NmiSE!hIAEzxZwTa9rvq81ExvGBwqqG_v zX^NYmW@b)noCY%U-C?ZgoeNn{f1JRLygCyPojS*crG?&{$&{ohKj8b+17K`@v-jzb zWzF838ukAzS;gEdEfbhL*yaqZF)(kNM^Ft*j})R;$2BUajZc$X+wGMKPPUeNL9s{w zdPKpHW9kA>?C)gapyw11K5M{>84gU(8;7Ra3JD8K(IM`*r_pYErnc~So{{V%ku`9uh(tH$=S`RlSHHxXi#E{-ppg2bK42l^6-H82kn z0zB69X4S-NMcY@(gL+J#c`Q#7zc*7An@j@&f@!iT@kUl)(46k>32C|^x zI)wOn65d;4(asS82i?^5oGifUP=!TzxA#F($# z3*C4nH6jSKR@ado@Y2J5Q`P+)ryoK`j*sww=n+Ku^SwvMH-R}rEOY+H_{%V_=)9~UW@ItdzAXZ?{6Qv4Ky4UA`LP}I zQLfvDf>dj}96q3d}C#1C4Hb)Crd^c7S>xYRh z4eo~s)}LK~x9EH2X8meMXpv;=wh%(RC4Y07d4LXTmXYs`E-exWHc+bmGd=b%p#iYx zrGfo@j+j{Q_pebuAD@_-kW$=KIJ?WX4Or*nVb((0cVpQo0S00^*^a;(1oPS!6H{ha zp0t6@*3Z{BHu?aNR}Iin&hT#la$v5~<>j)is9T0@_b9=IfsC-SuAMunMk$iAof>j* za3M->a)9try)9g^6m*9(hS>ev2jS4G+UW(C;}rL;G<68qIbB}TXwZ%-y#?&nv_97C z3uLH)AOmPfQ_GnE)<9d`Gqol+CAvqpsanSKa3y@fTRbx*0)T^(s8})zigf>OgD3}4 zZeAmJNu+G0DW?XdsTasD70eAKQPn&}RU;t!!y82K4S&?`bLz|abSpXaLccBNaS%SgJ0?q$9*cvn|lx^9XR zAG<{it+9($ocM?=7}%~d*M4?qdvVdys3x-JG`1fb;pwO=KiJJrx;LIF#N|~nLXLmE zH>3bj=ZuyP#YJIThtg|FftSmURccf$^02C(j=tF?cjj3}l1ydZpRZm2$$9e}r7jtH zbfD^$W!3=$5HU9cbR&S@EqARw#WebY7~Y(v$2iR#$g5#p zr@^O$Jiu@@)IfaUC@q;4T|nudE|z9cjZrE?D5xx@hEOAIHaVPe#dXL6`2imWr4X5> z^%BPHuq;=XeX~IdVv$Zo&A86w&rgxwA37hfDg4Q}G{VAWx7NLyyf&b>BiXn|AaAR* zmXW)Fr-PMz=QS?8jt>l19XV4NpaaA9V3L_WzMfDi0oCe%gx#f`n(X4~mLSi-Cwhef zoc(f5znSuZ*Be^0@*YaeOH=TqcQuuq?`)hePmP1yt?Z6+ox(Tyr?3rRIr7@L1b`U8 zpmqsiHuJca0(K#@$x@-h;2fO5--A7dKmAK^yW1m;11EAXhnC)IhRifr_2I*72m5-# zS!Q6C8R+0^>j;sz#oyq5`N11h3uHPVi|4;0F8a~ff971Vnf_! zoif<>)e4zAtIl+i{CFGJzaay$$!YwfCvxvteg+L5R*bC=jZ}S%;8#746Ca(+ zMlC#YT1Tr8 z^nW^?U&#DX%T;Hu%5M*J3yH7MPuO5kc&mWJ_Iew`;Fy+VR{p8kph&3U?lSa};w43IG$Km%=a2Yv=21!pN*2V7eNy7CF`2TqD+lKqe=W}oMQKj#e7_Mbk5ca1KR+usq zb>R9gYv~-t^;iA(;NiWD-|s7rzJ?;paE7^2+O&xP^`+AZpmTnlZ%?}D|D8h(pBZQs zDVqul7aUyX!S9Kc_lcItX;ts5aCBj_5tyworL3l1cP^VpXAeeR2v(33{)<2655GWo z7i?x`m}XDO&(yBcCi2fx(w8sd`}>1jb!^OS^ROjOco>I=P>@{4=b@FfHlI%W^YeEC z&U!~D6Tmo7loV0ku^T_D=JqQ$%M~{jbZ%rG-18Rr8Xsoz*Mb+zdZ;Wa7VYD{on~On zR&vCs27``1b1%E$;hAS@Vi~4dz@8bojKAjfv7$bi0>a5}vb1vf)m(dnz&|3Q?BKG` ziZA56axR;Ab5#{|?GXUchSw(VU|U8MO!hHL)84gw7txfzd+u~0))sK8KzT;^XLH6s zD(Pwb&{BC>qxEm81-T^J<_($h$O1o>Sppf=mvA6)4bmq+{7`Fz9#be%SOZWI%6aZH zVYgSm=XrT;H0BXzkNV{Ko*0o7(mG4G;|Kb9@;uzKy1GXJDZ`O^?*k~dV;G-FXNtC6 zqkgEJT7J8wY4Ey3_u=oe{#yON;)B~!XE7Qm}jg!npv#*|5ONy#n1yD<+i5hjH+5qAHA zl2o?IGNI0%cX);$sPoYA<2UC*X~5pGa=zMI&%++s+uJdPqiN>{V*UO`yR6P&ff`Fu zk)|emeC_YYv14m3Rb39RLDdn!dx;npQ{h;8?y#vpy!^_*MAFq?qx??4a+bLHe;w`> zaKcT22hhKJ2j_#g!-QNMJ-RnwpwS(W)MG9VTvvb%S}#p|+w$GD1bs-OEsCa~%a8Qs z^A*D#FGIr%sfWg{OhKdBe#jw7mWSJHfd0voC#$VuRCOpc1{q`!_=lBe_OQyS*L{6` z^@Qvoiq~A{ zdNZQbq0vh^wRoco_!9xh8UyI^=)2b<7;%cqbwE6-hYXPRO64j;{cA#EU1)w6XY)L+ z#2~3*(eN5{rpg}QUj@#p@AvQbW+4tusX<*u3Q)6%I3Q=m!Nra{QBgTEnZXOZvEdm5 zy&l?KqXIBDMibs1v-4mt+`D~(Dy)(=ze6_cmITb+K^L^pIsj#P923!`x zB|AXPBJ+k3JY-CP8hvKzd)?mrlYbCL_480Tn*eM~^>**2a49?(;H9y}``5_fx1A3} z+yu(`juijjJ3I5H`B+9ZN*JEhuC0g9ccGDW0UHDrK@Csrkuss&JOBc6`J^o7wKOIe zvs~7e6wMGg*t63a3($dl?HDzUG3AYIv>;j;Kq0zck z-`E%+Cxp9)Mh&^T29Zont7q$atb;$AnwomuTIs(U&gIZ>ws64~)e9e2E9t`WzJ-1^ z(E8k^9(ZNQ>P^fUyHUyET7Ghk&DNvlm6a?MUnf~}|#-RsR z&OlUioHtwH8q8+aDt-9BwVc;`+hACo?67v|f73z}gWYiCx!LkVZB#G3U&0b8bgquP?4#TgaN?24UoE`k#F{uP+WnW zZkNu&=qIMY1fYB=F+(HjrtO`*$v0Ijdb`{~<05DW=$${^000pfNb$3ycdWv#K+~_C zxxxUcaK88Vdy=Xfj=neG;Wi&iJBUlKRfS&jy0P+xJm*mb_#Z0|w_?#xji%M-ko?8N zm4calEe(z?@aS!r-e)R;1WRzRD>h1_8(d&8s7RLAYP;Uf_)y?|)3`kcFbeEJ!v42p zY|LI}=)*?`jqM+SZEKU$(?CEA`nCz9$%@jJEoXjS)eJ55dq9tx&q3)opqMbAZftJM z0xU(xNMH3UZaexP&Yy3~BbibdcZ@oS)m7~~?oU!f2qS-gD1oYh0%STyORl5yQbVxCvk3-2li4Ya9g!eIU~iV zEyRGkTg~}432%()BCy6L;^Oa}p@t<|)Atnl(FEXo0i6m161?I zGyk#l5>m&Z{kiZ5!rWVg&uit?!VA9sQq}WQ)cs?uUV82`}pDq#3W}rJ) z`M4gyh^imCTv4c~p4^f+6hS?z#KHDgJY9Su6s7aQ|BvZ>0O-=|;XGM?55YPMfHJLM z-^5eTf_m(7Ty-?y%_MF8Z)IRHmz3KYu)x0 zSed+DSI+_@{lZWRF~v#YHTz5Wp%?~Uhl1sJ0)ewt?|FgAMhxb{_Dh0PNe`qMXrG_e zU3Z4skX5@3_pJIx-v`c<3d(hFPq7VMSV9gL+}d=5ZMS9;Q6Vyxh-j;4R$mV=|dFcU_g}_ZG{|SM@XV!b0hBjOu@3!Xxe7C3ec%X&Xk}f4ISVMS!YD&` zQVKZYkw<<%pWO&;6u`{~hlBHzODrZk<;*R3T{Jx`NTCAu6*qLS3ej|Nj5}io5A{8* z;$A*Ry}_#U4)(3C@QfMPGtmb?(b2CXO`z=b`i7tVk`Y_^P&_7?Z?_w?5b{5kW*%yL zOEGK?eRj#7tCWDhna6>uNe?POw4yQJJ5bZM5FdnK6h#wqgJvumcJFq6ePEg{=o_SC z_srt#2Ro`@z$SswbbkWWbPx+H;kzuAM?l#D1DYscR3v*4H7|>pclw9`9pm`Gl>dKB zG=T|BHxD08#3y|>B<5if%+?E*j~n3JUhR5W26;p`PeBT~0t5DT=esQ%ALtC`+;HI__%RF zUXW;BT9d~9a%vOan^rjDj2x1POw={kczv4d2^YGUnBzPxxYjZXFI)u7>zN#7;}Taf zdjUgZBo_GWRN(q|KGcRel+pc18u2Z_5llyZP4~Net}bBH2O3P91yXl@B`N%e(?HQh z#5dBwkmmyV2n`HlIe%bH^%$d%KLLw>!D>hsm+^_KYuH?f5w$8I-b0vobh{^hGBl8w zbiUt=Ea{VYb)%t{q7pw48*_SMnLE!1^y}5z!xamDe^|JeyHObcx}+E959Yg-wr_oa z*s+oX1;6eDD=Vu3XWrWTfTnxB_>1^NR_`U+QH`S~={E-xY1j<`1U?9Qeh1)hL5-*x z-%1~O{1t*hG67)-fQ^h2$7aZ28d$zwKJ^!d(OdyRgYYaf75;le<*AV{JS>Eq6hDs& zE?WmyD_Od<%qwdsID*x?sqY%@Xi)VH3vG#%UiM9xOA~I6GmnKCV=%hMf60!B2j5Y{ z95Xgk=U8Uua(GgAj4HFI2CoQ)Nm`+4o3KW(wf7lMG-B{I>h0Roka zIO-W2N#A&fH4_$c@}~?{Tu2C4m&9|<4zq&65pMj86b^@jvbf0H6e^>Etu}9d-Kyqs zG|nhtDytkI<7&D5y@lo=p(;u;4uDxh!7#c7R_X|tr6x8DZkO%}aifrpF!4E}MU`}aYUwh&ow?=vC*GSJ5v>@q+Lsu2b>ZMJvCtW65(B^m($O_@`n;G|%UX`#9aarbNUqH` z0}grWAa?E)4_=^(p=*n?ltGgotNE_dD#D}I z26oRxitxz*&uC!)o}P>*R31+{U{EVM3YVbXdIWgHh+a=4}cQ{8LO!`Se}PTUGK$!MLn`cQT&K4Iw2Dda?lWlEPQ zs*`+{tjv`0u{9T^Z_>1n4Igoy%jS@Gw`4?9$R*{f@=T{(xT&i6o@!+s&e3U(!*%fK zw~ssJgCcFS%pkL!sh=7epRIO*uq_2d99@yzs76zzGHzarY@YbtYf@xf zPYx4f^#``lD6A~VdC5uT)$l2)#=V%#0_lJiG4Ajy(G-yoG)XJg8ZnA3B8*P$q zA_U+#gocKr3H-A^9`$c#<&v28R{vDr)50xoM`_JRaUWW8Mb@iEywB_VuFRm8QIgrS zME-vX5K|AXEc^{j918-J;;kih$bFY~Y$73o2qnLC4_@x|rc~*md}N7}3jmsOaK*au zoovEjfFQuhe3qE5q2aG{59;z|0PNqyQi}2V?^7W=DFdkdErdGcGr}T zRTSLmqL9A1G=Ew1Zn<0hJAkR*u24>|6#bE#ZWh_jqV&C#jolNBNt#*NmnN|P0)CnNz z*p9vS1Vxh%Aq=>J_X|fDfrI0F0c#y=*a^6bjc<&Y{Wz7Pt^84wI@HarL2*j!BnG-OG7wSU|ChZe8xv(y~-o_I774GbzD%+h(+8w(pnKumF`5N<=i*J+?wMyUvdZi7c^ z>~_-m5z<9~!ywg!S0Oum**(a1BCr3E)TwYw4)@eTztT6a+wb8^-M*6(q_zDgH|t;q zLHy4t?rNj`q16ueDfUvSyDQl#uZyz*v51iAx?O#*&$*ErMa>Ey*QA9vyp+zB!nB}k z5zT+3C$GR+Uu$h$P}i(uAT@x1F9L!wMF?@B=bsMcB^=CFbAZw{Z@A{_<@xl*`8t@B z)+RwWQvb-$f)6GNz*1&LnhG#4O;l7Y2j)ijc_8Rjt|9xuA$ZH z1hR2;)F<Lwz|qH@STUBUtP-;r)Sue77FDBDP7(8j~8#=85=Ck=Lk8iW zAQddBq!fUFw(NEb4*`iCySuyA0*9hF#;K;Jw#|tE$CgONiiQZIUS_WOuvUc}B*~dP zTyU@k-PvZzl(E@X2NDkB1%lfV23hH13X?0n;nxIeRhMQuL;$%Y^7-ql@2%%aNb352 zpT_|(6lZBXdqj=%9(iAElz^)#F$@@a_9()g!#ac|uPK~67^WzroNA)aI5QB0*R$BC zHa0eIhNYAlI(H&L>5GaHaK*VOouGs1&8YSQ2uGmVqP*pz*S71mLGxCDr zHk8*Io)#DublrBotFzz4n^Mr|nm5d4-xkUn+ypo>LY|M=B0d>t++{$JO^0+oXmlZz zm6~8mAiJqv>2B^~&(VSoA;_dE&N`i!e=0=di{>j10(cz$_@wVAKl#rjWv6_yOILSR@&eObN8f;#+IaSlXoZi zA{kN8Hv?Vur|%cqhFB%ouDkNH*q=p(q_(5%`v7@uJC9vgd!)D9T)FeFZmsxbWQ}g8 zKGeD$J4EgT#@MAR;SoVBWV|@Ps7N+LUfecwV%Ue-#mTEfQBlQKWRwd@;kz)-HW1J? z+d&iOEMi|h(nTP_M3lF~K3OgQa;YLn{_*veiHV7G-ZFq=92UY& z_ycJ!GAF)SAMf)|o5K72xslJmqz-nIpBZk~(brjAkPWwp`r{=?X7UDO7~@I^=>?Q@CAe*la<^L0nULmS1(CL(nhuqQnDWUInC%%Rs z%eZtsvHUazU;Oe150BP)C~zvYoH=tQINYpQVi^1Smovck@{l-ht}C6XTf^EbDh{_j zpEA;G ztEKU8^##t91)tS`4jx}|04+G+X3%FUS@Gc$24e?cAO(tK&l346+g}x_#$#@(-QNxp zGdvD7HHi;OiYfQG^Zw*~7%s$3&~N{xwN{_@F8#%bxiP{nMK7pZp## zXWjRG|J{>wj?(<`{ibSu`!(L)iGx?aD0WzC#;5GIoH*8o&~ITbpB=F((rDgIUD1a5 zZ8Y$PQ^?Vmsbg9iEHTJ%V7UJKlVwx%#qQmAH}U`RuxxU>*gkwvz@QNSzSLz$W&b>3 z(*4-jSeQG^pQ4c9xhRjmwK8sf-G)IK8vyjt+Gu=116+bH$x&Jc?ySF;^V8q!%=7mW zjr{ZX#Q(qfKsA`k^q|sxj*^n~#|P5jFJEqWczFdLKSSAb`c%=4{Psi{f8aUP$J~Bp z@{WM&vaqYhTd1<5w`z2|AFY%mge9Ped=MqobCTfo$4CcF%vk z6r$ra?d$kB3Yx|V2u!TtJxWMK6aX^RkY&B!m2VE4LyentPy5La&kMq3Q9(gdCy0n_ z?%%&(RPKy>$|CgK0NMr_KrvATp06{Hp5c=$P*Wm2Ix^ z{uD(zrmQM%kh6g%SYOXcke2qxM`Ms#YQP-wf^(Ow#GXF=%*4afbK&gSC)KwY80zfA zfBEfyY7V*i&F*6D{cQ&rb7;Y$mVK?itiQm#1pKa=a!~?V=hR)RP8b~8+TU}^vHIN4 z0*ByQtO`%Q;c$7GMun>;?0}D1M4u-)Zp>MYSD!+0Uhfpa0SV03xq0)ZLXp*^$ri*A zPck5)@z2z*c=Y~sc~6;B!S|XP11C*`zRo1M=*F(+zn4`W4Q`g(%qjp?G>hW2yY@_w z+TfCqQAe`LR_^Obpvoo=92%k-Wgf}B4(3UFg#t582F+rd{GCUN@tceN23Prhe+G4& zLe|s!{ZFn0g8)|^sI4!xuC_2e!WtZKu}6*{SAS1b zloyx}6E}LV+aBskB3=X0Ut5|QN6zoV20j)f7E9aGny1#{0iz^bc1C0-0a{34l z;?88ij3su}2`ZhMPk|>%Swm>BHcX|II`OGbf&I+61@mH?eXU&Y(GdlF3XSUe2^gN7 zp3kY>eMKsA#y>qOAmr^m-3cq2#G+VF#AScCcihEPWo3K^Gm##umVR=6u%v+b;g?D~ zo?2SRv^yXsZ_E;Xq@D>AG>HzffD?npW-M1=d$ zb#|7(hwEiqsNL^(baGL(FeOEAe;22a{)n@GbcC&qf^ZI^@cg?~2NSFe?H)pMADEUX z=_0HbFP&>XEPL{^vTVQb(r|@&Mr&)U8z(Da3>yK>L**)E{7WK1`_-2i=jW4V!`>yLCb`ZD@w#Ca3M{&HbKpiK^8WB<3h#@!cPX&a?U_qrbK0~` zgqK~Ka?~f8+e7h#Z)^nw_wvjJ`%1+M#7nf}Hv8OW9^5bHXe`@dN;-Dy?Afz!yzI}V zTEf|sl6^w2t>*T(2=-3PN{>>Y^D8(rbGzVCD$dw|Q**E*v@bcCezq;)L*B(hwOivJ z>!V7>T&kH`rmokZ!qYHZV&C$}`L}f+?gj@(`#57aJP_qn9$(|B9!F=q1fO}M&8@va zv!V_iPS5iUV_78sI`{{Dob~0ZZ&&N?J38bN#adeP!qf-krnNA93C&VHckbL%KPh{T zb28$2zazJARI&;V%cyeNT8Wp0RDb{8bDFTIvP?#bpT=mMF1>+8G4Ug>*%OF7^$*8_ zr@@Br=<3gDPU!6lx$Zs_3cr2(w$;)A?^;-!<9tLjm)KCQNiRDZIs^N7m`;k#%Vk)j z?Dk6AiybuCjz-iFSjYs^Sh(Uiv@UQ2ze#$II^0pF{u_0^l+ z9{gl+;HAA%{3D25_8``~ahrFr$T|s^(Ya5$P1a?a|41=YED=l{KkY((tv(NcZLAJ# z8jaQ#9_MHqed)oZ@Vor*iDi6c48oYI00w;E0YpjkUyK-Dss;am*X%%Whu8W*Wb*&x c2Q0rpF literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/cell-6-output-1.png b/README_files/figure-commonmark/cell-6-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ec50eceb3a4eb1b1a203f3e1d0f3967dea749647 GIT binary patch literal 34433 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 m$^0p=@c;k$Pc6Z?sLM8~@U0`WwjgPsY3E|Kp5 literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/cell-7-output-1.png b/README_files/figure-commonmark/cell-7-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..ec50eceb3a4eb1b1a203f3e1d0f3967dea749647 GIT binary patch literal 34433 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 m$^0p=@c;k$Pc6Z?sLM8~@U0`WwjgPsY3E|Kp5 literal 0 HcmV?d00001 diff --git a/README_files/figure-commonmark/fig-showcase-subplots-output-1.png b/README_files/figure-commonmark/fig-showcase-subplots-output-1.png new file mode 100644 index 0000000000000000000000000000000000000000..e943f7616ad70de4cc0b5f178c75ac0e19917b67 GIT binary patch literal 25103 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 Coqm4+ literal 0 HcmV?d00001 diff --git a/src/maxplotlib/canvas/canvas.py b/src/maxplotlib/canvas/canvas.py index 45678a2..7264a90 100644 --- a/src/maxplotlib/canvas/canvas.py +++ b/src/maxplotlib/canvas/canvas.py @@ -55,6 +55,46 @@ def _display_matplotlib_figure_in_notebook(fig) -> bool: return True +def _apply_matplotlib_customizations(fig, axes, customizations) -> None: + """Apply declarative method calls to a Matplotlib figure and its axes.""" + if callable(customizations): + customizations(fig, axes) + return + if not isinstance(customizations, Mapping): + raise TypeError("matplotlib_customizations must be a mapping or callable") + + unknown_targets = set(customizations) - {"figure", "axes"} + if unknown_targets: + raise ValueError( + "matplotlib_customizations only supports 'figure' and 'axes' targets; " + f"got {sorted(unknown_targets)!r}" + ) + + for target, objects in ( + ("figure", (fig,)), + ("axes", tuple(axes.flat)), + ): + for method_name, spec in customizations.get(target, {}).items(): + if not isinstance(method_name, str): + raise TypeError("Matplotlib customization method names must be strings") + if isinstance(spec, Mapping) and ("args" in spec or "kwargs" in spec): + args = tuple(spec.get("args", ())) + kwargs = dict(spec.get("kwargs", {})) + elif isinstance(spec, Mapping): + args = () + kwargs = dict(spec) + elif spec is None: + args = () + kwargs = {} + else: + args = (spec,) + kwargs = {} + + for obj in objects: + method = getattr(obj, method_name) + method(*args, **kwargs) + + def plot_matplotlib(tikzfigure: TikzFigure, ax, layers=None): """ Plot all nodes and paths on the provided axis using Matplotlib. @@ -935,7 +975,22 @@ def plot( layers: list | None = None, usetex: bool | None = None, verbose: bool = False, + matplotlib_postprocess=None, + matplotlib_customizations=None, ): + """Render the canvas. + + ``matplotlib_customizations`` accepts either a callable receiving + ``(figure, axes)`` or a mapping whose ``figure`` methods run once and + whose ``axes`` methods run on every axes. Values are keyword arguments, + or use ``{"args": [...], "kwargs": {...}}`` for positional and keyword + arguments. A scalar value is passed as one positional argument. + + ``matplotlib_postprocess`` is an optional callable receiving + ``(figure, axes)`` after a Matplotlib figure has been created. It can + call any Matplotlib API, including APIs not wrapped by maxplotlib. + Both options are only valid with the Matplotlib backend. + """ resolved_usetex = self._usetex if usetex is None else usetex if verbose: @@ -947,6 +1002,12 @@ def plot( layers=layers, usetex=resolved_usetex, verbose=verbose, + matplotlib_postprocess=matplotlib_postprocess, + matplotlib_customizations=matplotlib_customizations, + ) + elif matplotlib_postprocess is not None or matplotlib_customizations is not None: + raise ValueError( + "Matplotlib customizations are only supported with the matplotlib backend" ) elif backend == "plotly": return self.plot_plotly( @@ -973,6 +1034,8 @@ def show( usetex: bool | None = None, verbose: bool = False, block: bool = True, + matplotlib_postprocess=None, + matplotlib_customizations=None, ): """ Render and display the canvas. @@ -992,6 +1055,12 @@ def show( """ if verbose: print(f"Showing canvas using backend: {backend}") + if backend != "matplotlib" and ( + matplotlib_postprocess is not None or matplotlib_customizations is not None + ): + raise ValueError( + "Matplotlib customizations are only supported with the matplotlib backend" + ) if backend == "matplotlib": if verbose: @@ -1002,6 +1071,8 @@ def show( layers=layers, usetex=usetex, verbose=verbose, + matplotlib_postprocess=matplotlib_postprocess, + matplotlib_customizations=matplotlib_customizations, ) if verbose: print("Displaying Matplotlib figure...") @@ -1041,6 +1112,8 @@ def plot_matplotlib( layers: list | None = None, usetex: bool | None = None, verbose: bool = False, + matplotlib_postprocess=None, + matplotlib_customizations=None, ): """ Generate and optionally display the subplots. @@ -1123,6 +1196,12 @@ def plot_matplotlib( self._plotted = True self._matplotlib_fig = fig self._matplotlib_axes = axes + if matplotlib_customizations is not None: + _apply_matplotlib_customizations(fig, axes, matplotlib_customizations) + if matplotlib_postprocess is not None: + if not callable(matplotlib_postprocess): + raise TypeError("matplotlib_postprocess must be callable") + matplotlib_postprocess(fig, axes) return fig, axes def plot_tikzfigure( diff --git a/src/maxplotlib/tests/test_canvas.py b/src/maxplotlib/tests/test_canvas.py index e35f726..37c4798 100644 --- a/src/maxplotlib/tests/test_canvas.py +++ b/src/maxplotlib/tests/test_canvas.py @@ -448,6 +448,89 @@ def test_canvas_tick_label_rotation_is_forwarded_to_matplotlib(): plt.close(fig) +def test_matplotlib_postprocess_can_customize_figure_and_axes(): + from matplotlib.colors import to_rgba + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, (axis0, axis1) = Canvas.subplots(nrows=1, ncols=2) + axis0.plot([0, 1], [0, 1]) + axis1.plot([0, 1], [1, 0]) + received = [] + + def customize(fig, axes): + received.append((fig, axes)) + fig.suptitle("Customized") + for matplotlib_axis in axes.flat: + matplotlib_axis.set_facecolor("lightgray") + + fig, axes = canvas.plot(matplotlib_postprocess=customize) + + assert received == [(fig, axes)] + assert fig._suptitle.get_text() == "Customized" + assert all(axis.get_facecolor() == to_rgba("lightgray") for axis in axes.flat) + plt.close(fig) + + +def test_matplotlib_customizations_apply_declarative_figure_and_axes_methods(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, (axis0, axis1) = Canvas.subplots(ncols=2) + axis0.plot([0, 1], [0, 1]) + axis1.plot([0, 1], [1, 0]) + + fig, axes = canvas.plot( + matplotlib_customizations={ + "figure": {"suptitle": "Customized"}, + "axes": { + "set_facecolor": "lightgray", + "tick_params": { + "kwargs": {"axis": "both", "length": 6}, + }, + }, + } + ) + + from matplotlib.colors import to_rgba + + assert fig._suptitle.get_text() == "Customized" + assert all(axis.get_facecolor() == to_rgba("lightgray") for axis in axes.flat) + assert all(axis.xaxis.majorTicks[0].tick1line.get_markersize() == 6 for axis in axes.flat) + plt.close(fig) + + +def test_matplotlib_customizations_accept_a_callable(): + import matplotlib.pyplot as plt + + from maxplotlib import Canvas + + canvas, axis = Canvas.subplots() + axis.plot([0, 1], [0, 1]) + received = [] + + def customize(fig, axes): + received.append((fig, axes)) + fig.suptitle("Customized") + + fig, axes = canvas.plot(matplotlib_customizations=customize) + + assert received == [(fig, axes)] + assert fig._suptitle.get_text() == "Customized" + plt.close(fig) + + +def test_matplotlib_postprocess_rejects_non_matplotlib_backends(): + import pytest + + from maxplotlib import Canvas + + with pytest.raises(ValueError, match="only supported with the matplotlib backend"): + Canvas().plot(backend="plotly", matplotlib_postprocess=lambda fig, axes: None) + + def test_show_canvas_script_invokes_canvas_show(monkeypatch): import maxplotlib From 217f79ab77086b06a6533b4aea3d0426f9c4bc0d Mon Sep 17 00:00:00 2001 From: Max Date: Fri, 21 Aug 2026 22:56:23 +0200 Subject: [PATCH 04/14] Updated readme --- README.md | 39 +----------------- .../figure-commonmark/cell-11-output-1.png | Bin 19238 -> 19218 bytes .../figure-commonmark/cell-12-output-1.png | Bin 36114 -> 36104 bytes .../figure-commonmark/cell-3-output-1.png | Bin 37127 -> 36934 bytes scripts/generate_readme.py | 29 +++++++++++++ src/maxplotlib/canvas/canvas.py | 20 +++++++-- src/maxplotlib/tests/test_canvas.py | 21 ++++++++++ 7 files changed, 68 insertions(+), 41 deletions(-) create mode 100644 scripts/generate_readme.py diff --git a/README.md b/README.md index 42c8932..4480d3b 100644 --- a/README.md +++ b/README.md @@ -115,14 +115,6 @@ canvas.show(backend="tikzfigure") ![](README_files/figure-commonmark/cell-7-output-1.png) - \begin{tikzpicture} - \begin{groupplot}[group style={group size=1 by 1, horizontal sep=1.5cm}] - \nextgroupplot[grid=none, title=Subplot 1] - \addplot[color=black, line width=1.0] coordinates {(0.0,0.0) (0.03157379551346526,0.03156854976481053) (0.06314759102693052,0.06310563131267365) (0.09472138654039577,0.09457980779484494) (0.12629518205386103,0.12595970506771756) (0.1578689775673263,0.15721404296725078) (0.18944277308079155,0.18831166648971787) (0.2210165685942568,0.21922157684769134) (0.25259036410772207,0.24991296237030836) (0.28416415962118735,0.28035522921701445) (0.3157379551346526,0.3105180318741688) (0.3473117506481178,0.3403713034041128) (0.3788855461615831,0.3698852854165468) (0.4104593416750484,0.399030557732341) (0.4420331371885136,0.4277780677102096) (0.47360693270197884,0.45609915920701594) (0.5051807282154441,0.48396560114283876) (0.5367545237289094,0.5113496156423267) (0.5683283192423747,0.5382239057242886) (0.5999021147558399,0.5645616825119181) (0.6314759102693052,0.5903366919365284) (0.6630497057827704,0.6155232409081792) (0.6946235012962356,0.6400962229271071) (0.7261972968097009,0.6640311431104312) (0.7577710923231662,0.6873041426091843) (0.7893448878366315,0.7098920223913329) (0.8209186833500968,0.7317722663670768) (0.8524924788635619,0.752923063833377) (0.8840662743770272,0.773323331215339) (0.9156400698904925,0.7929527330827786) (0.9472138654039577,0.8117917024210207) (0.978787660917423,0.8298214601357258) (1.0103614564308883,0.8470240337722988) (1.0419352519443534,0.8633822754312233) (1.0735090474578188,0.8788798788614604) (1.105082842971284,0.8935013957148741) (1.1366566384847494,0.9072322509454814) (1.1682304339982146,0.9200587573381745) (1.1998042295116798,0.9319681291524348) (1.2313780250251452,0.942948494867437) (1.2629518205386103,0.9529889090158392) (1.2945256160520755,0.9620793630944628) (1.326099411565541,0.9702107955409863) (1.357673207079006,0.9773751007667072) (1.3892470025924712,0.9835651372363698) (1.4208207981059366,0.9887747345870026) (1.4523945936194018,0.9929986997786696) (1.4839683891328672,0.9962328222710067) (1.5155421846463324,0.9984738782203788) (1.5471159801597976,0.9997196336934779) (1.578689775673263,0.9999688468941563) (1.6102635711867281,0.9992212694012756) (1.6418373667001935,0.9974776464163387) (1.6734111622136587,0.9947397160206569) (1.7049849577271239,0.9910102074427921) (1.7365587532405893,0.9862928383380027) (1.7681325487540545,0.9805923110824041) (1.7997063442675196,0.9739143080855378) (1.831280139780985,0.9662654861260218) (1.8628539352944502,0.9576534697159296) (1.8944277308079154,0.9480868435005095) (1.9260015263213808,0.9375751437008251) (1.957575321834846,0.9261288486078413) (1.9891491173483113,0.9137593681374367) (2.0207229128617765,0.9004790324567516) (2.0522967083752417,0.8863010796932087) (2.083870503888707,0.8712396427384597) (2.1154442994021725,0.8553097351604118) (2.1470180949156377,0.8385272362373773) (2.178591890429103,0.8209088751292626) (2.210165685942568,0.802472214201578) (2.241739481456033,0.7832356315188905) (2.273313276969499,0.7632183025251684) (2.304887072482964,0.7424401809292831) (2.336460867996429,0.7209219788147164) (2.3680346635098943,0.6986851459933066) (2.3996084590233595,0.6757518486236088) (2.4311822545368247,0.6521449471151868) (2.4627560500502903,0.6278879733408583) (2.4943298455637555,0.6030051071796145) (2.5259036410772207,0.5775211524135886) (2.557477436590686,0.5514615120031076) (2.589051232104151,0.5248521627644684) (2.6206250276176166,0.497719629475683) (2.652198823131082,0.47009095843600296) (2.683772618644547,0.44199369050557913) (2.715346414158012,0.4134558336521342) (2.7469202096714773,0.384505835032011) (2.7784940051849425,0.3551725526334286) (2.810067800698408,0.3254852265102116) (2.8416415962118733,0.29547344963467004) (2.8732153917253385,0.2651671383986787) (2.9047891872388036,0.23459650279236888) (2.936362982752269,0.20379201629015234) (2.9679367782657344,0.17278438547409944) (2.9995105737791996,0.14160451942495159) (3.031084369292665,0.11028349891127508) (3.06265816480613,0.0788525454074766) (3.094231960319595,0.047342989971558204) (3.1258057558330608,0.01578624201363682) (3.157379551346526,-0.015786242013637018) (3.188953346859991,-0.04734298997155796) (3.2205271423734563,-0.07885254540747635) (3.2521009378869215,-0.11028349891127483) (3.283674733400387,-0.14160451942495178) (3.3152485289138522,-0.17278438547409963) (3.3468223244273174,-0.20379201629015212) (3.3783961199407826,-0.23459650279236863) (3.4099699154542478,-0.2651671383986785) (3.441543710967713,-0.2954734496346698) (3.4731175064811786,-0.32548522651021183) (3.5046913019946437,-0.3551725526334284) (3.536265097508109,-0.38450583503201075) (3.567838893021574,-0.41345583365213395) (3.5994126885350393,-0.4419936905055789) (3.630986484048505,-0.4700909584360031) (3.66256027956197,-0.49771962947568316) (3.6941340750754352,-0.5248521627644683) (3.7257078705889004,-0.5514615120031073) (3.7572816661023656,-0.5775211524135885) (3.7888554616158308,-0.6030051071796143) (3.8204292571292964,-0.6278879733408584) (3.8520030526427615,-0.6521449471151866) (3.8835768481562267,-0.6757518486236087) (3.915150643669692,-0.6986851459933063) (3.946724439183157,-0.7209219788147162) (3.9782982346966227,-0.7424401809292832) (4.009872030210087,-0.7632183025251682) (4.041445825723553,-0.7832356315188903) (4.073019621237019,-0.8024722142015781) (4.104593416750483,-0.8209088751292625) (4.136167212263949,-0.8385272362373775) (4.167741007777414,-0.8553097351604116) (4.199314803290879,-0.8712396427384596) (4.230888598804345,-0.8863010796932088) (4.26246239431781,-0.9004790324567515) (4.294036189831275,-0.9137593681374367) (4.32560998534474,-0.9261288486078411) (4.357183780858206,-0.9375751437008251) (4.388757576371671,-0.9480868435005096) (4.420331371885136,-0.9576534697159295) (4.451905167398602,-0.9662654861260219) (4.483478962912066,-0.9739143080855377) (4.515052758425532,-0.9805923110824041) (4.546626553938998,-0.9862928383380027) (4.578200349452462,-0.9910102074427921) (4.609774144965928,-0.994739716020657) (4.641347940479393,-0.9974776464163387) (4.672921735992858,-0.9992212694012756) (4.704495531506323,-0.9999688468941563) (4.736069327019789,-0.9997196336934779) (4.767643122533254,-0.9984738782203788) (4.799216918046719,-0.9962328222710067) (4.830790713560185,-0.9929986997786696) (4.862364509073649,-0.9887747345870026) (4.893938304587115,-0.98356513723637) (4.925512100100581,-0.9773751007667072) (4.957085895614045,-0.9702107955409863) (4.988659691127511,-0.9620793630944628) (5.020233486640976,-0.9529889090158394) (5.051807282154441,-0.942948494867437) (5.083381077667907,-0.9319681291524348) (5.114954873181372,-0.9200587573381745) (5.146528668694837,-0.9072322509454813) (5.178102464208302,-0.8935013957148743) (5.209676259721768,-0.8788798788614604) (5.241250055235233,-0.8633822754312233) (5.272823850748698,-0.847024033772299) (5.304397646262164,-0.8298214601357258) (5.335971441775628,-0.8117917024210209) (5.367545237289094,-0.7929527330827786) (5.39911903280256,-0.7733233312153388) (5.430692828316024,-0.7529230638333771) (5.46226662382949,-0.7317722663670767) (5.493840419342955,-0.7098920223913331) (5.52541421485642,-0.6873041426091843) (5.556988010369885,-0.6640311431104317) (5.588561805883351,-0.6400962229271073) (5.620135601396816,-0.615523240908179) (5.651709396910281,-0.5903366919365287) (5.683283192423747,-0.5645616825119181) (5.714856987937211,-0.538223905724289) (5.746430783450677,-0.5113496156423268) (5.7780045789641425,-0.4839656011428386) (5.809578374477607,-0.45609915920701627) (5.841152169991073,-0.4277780677102096) (5.872725965504538,-0.3990305577323414) (5.904299761018003,-0.36988528541654697) (5.935873556531469,-0.34037130340411265) (5.967447352044934,-0.3105180318741691) (5.999021147558399,-0.28035522921701433) (6.030594943071864,-0.2499129623703088) (6.06216873858533,-0.21922157684769145) (6.093742534098795,-0.18831166648971762) (6.12531632961226,-0.15721404296725106) (6.1568901251257255,-0.12595970506771748) (6.18846392063919,-0.09457980779484539) (6.220037716152656,-0.06310563131267372) (6.2516115116661215,-0.031568549764810244) (6.283185307179586,-2.4492935982947064e-16)}; - - \end{groupplot} - \end{tikzpicture} - ### Horizontal Subplots with TikZ Backend The tikzfigure backend supports creating side-by-side subplots (1×n @@ -144,36 +136,9 @@ canvas.show(backend="tikzfigure") # Generates LaTeX subfigures