figrecipe 0.6.0__py3-none-any.whl → 0.9.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- figrecipe/__init__.py +161 -1030
- figrecipe/__main__.py +12 -0
- figrecipe/_api/__init__.py +48 -0
- figrecipe/_api/_extract.py +108 -0
- figrecipe/_api/_notebook.py +61 -0
- figrecipe/_api/_panel.py +113 -0
- figrecipe/_api/_save.py +287 -0
- figrecipe/_api/_seaborn_proxy.py +34 -0
- figrecipe/_api/_style_manager.py +153 -0
- figrecipe/_api/_subplots.py +333 -0
- figrecipe/_api/_validate.py +82 -0
- figrecipe/_cli/__init__.py +7 -0
- figrecipe/_cli/_compose.py +87 -0
- figrecipe/_cli/_convert.py +117 -0
- figrecipe/_cli/_crop.py +82 -0
- figrecipe/_cli/_edit.py +70 -0
- figrecipe/_cli/_extract.py +128 -0
- figrecipe/_cli/_fonts.py +47 -0
- figrecipe/_cli/_info.py +67 -0
- figrecipe/_cli/_main.py +58 -0
- figrecipe/_cli/_reproduce.py +79 -0
- figrecipe/_cli/_style.py +77 -0
- figrecipe/_cli/_validate.py +66 -0
- figrecipe/_cli/_version.py +50 -0
- figrecipe/_composition/__init__.py +32 -0
- figrecipe/_composition/_alignment.py +452 -0
- figrecipe/_composition/_compose.py +179 -0
- figrecipe/_composition/_import_axes.py +127 -0
- figrecipe/_composition/_visibility.py +125 -0
- figrecipe/_dev/__init__.py +4 -93
- figrecipe/_dev/_plotters.py +76 -0
- figrecipe/_dev/_run_demos.py +56 -0
- figrecipe/_dev/browser/__init__.py +69 -0
- figrecipe/_dev/browser/_audio.py +240 -0
- figrecipe/_dev/browser/_caption.py +356 -0
- figrecipe/_dev/browser/_click_effect.py +146 -0
- figrecipe/_dev/browser/_cursor.py +196 -0
- figrecipe/_dev/browser/_highlight.py +105 -0
- figrecipe/_dev/browser/_narration.py +237 -0
- figrecipe/_dev/browser/_recorder.py +446 -0
- figrecipe/_dev/browser/_utils.py +178 -0
- figrecipe/_dev/browser/_video_trim/__init__.py +152 -0
- figrecipe/_dev/browser/_video_trim/_detection.py +223 -0
- figrecipe/_dev/browser/_video_trim/_markers.py +140 -0
- figrecipe/_dev/demo_plotters/__init__.py +35 -166
- figrecipe/_dev/demo_plotters/_categories.py +81 -0
- figrecipe/_dev/demo_plotters/_figure_creators.py +119 -0
- figrecipe/_dev/demo_plotters/_helpers.py +31 -0
- figrecipe/_dev/demo_plotters/_registry.py +50 -0
- figrecipe/_dev/demo_plotters/bar_categorical/__init__.py +4 -0
- figrecipe/_dev/demo_plotters/contour_surface/__init__.py +4 -0
- figrecipe/_dev/demo_plotters/distribution/__init__.py +4 -0
- figrecipe/_dev/demo_plotters/image_matrix/__init__.py +4 -0
- figrecipe/_dev/demo_plotters/line_curve/__init__.py +4 -0
- figrecipe/_dev/demo_plotters/{plot_plot.py → line_curve/plot_plot.py} +3 -2
- figrecipe/_dev/demo_plotters/scatter_points/__init__.py +4 -0
- figrecipe/_dev/demo_plotters/special/__init__.py +4 -0
- figrecipe/_dev/demo_plotters/{plot_pie.py → special/plot_pie.py} +5 -1
- figrecipe/_dev/demo_plotters/spectral_signal/__init__.py +4 -0
- figrecipe/_dev/demo_plotters/vector_flow/__init__.py +4 -0
- figrecipe/_editor/__init__.py +61 -13
- figrecipe/_editor/_bbox/__init__.py +43 -0
- figrecipe/_editor/_bbox/_collections.py +177 -0
- figrecipe/_editor/_bbox/_elements.py +159 -0
- figrecipe/_editor/_bbox/_extract.py +402 -0
- figrecipe/_editor/_bbox/_extract_axes.py +370 -0
- figrecipe/_editor/_bbox/_extract_text.py +466 -0
- figrecipe/_editor/_bbox/_lines.py +173 -0
- figrecipe/_editor/_bbox/_transforms.py +146 -0
- figrecipe/_editor/_call_overrides.py +183 -0
- figrecipe/_editor/_datatable_plot_handlers.py +249 -0
- figrecipe/_editor/_figure_layout.py +211 -0
- figrecipe/_editor/_flask_app.py +200 -1030
- figrecipe/_editor/_helpers.py +251 -0
- figrecipe/_editor/_hitmap/__init__.py +76 -0
- figrecipe/_editor/_hitmap/_artists/__init__.py +21 -0
- figrecipe/_editor/_hitmap/_artists/_collections.py +345 -0
- figrecipe/_editor/_hitmap/_artists/_images.py +68 -0
- figrecipe/_editor/_hitmap/_artists/_lines.py +107 -0
- figrecipe/_editor/_hitmap/_artists/_patches.py +163 -0
- figrecipe/_editor/_hitmap/_artists/_text.py +190 -0
- figrecipe/_editor/_hitmap/_colors.py +181 -0
- figrecipe/_editor/_hitmap/_detect.py +194 -0
- figrecipe/_editor/_hitmap/_restore.py +154 -0
- figrecipe/_editor/_hitmap_main.py +182 -0
- figrecipe/_editor/_overrides.py +4 -1
- figrecipe/_editor/_plot_types_registry.py +190 -0
- figrecipe/_editor/_preferences.py +135 -0
- figrecipe/_editor/_render_overrides.py +507 -0
- figrecipe/_editor/_renderer.py +81 -186
- figrecipe/_editor/_routes_annotation.py +114 -0
- figrecipe/_editor/_routes_axis.py +482 -0
- figrecipe/_editor/_routes_captions.py +130 -0
- figrecipe/_editor/_routes_composition.py +270 -0
- figrecipe/_editor/_routes_core.py +126 -0
- figrecipe/_editor/_routes_datatable.py +364 -0
- figrecipe/_editor/_routes_element.py +335 -0
- figrecipe/_editor/_routes_files.py +443 -0
- figrecipe/_editor/_routes_image.py +200 -0
- figrecipe/_editor/_routes_snapshot.py +94 -0
- figrecipe/_editor/_routes_style.py +243 -0
- figrecipe/_editor/_templates/__init__.py +116 -1
- figrecipe/_editor/_templates/_html.py +154 -64
- figrecipe/_editor/_templates/_html_components/__init__.py +13 -0
- figrecipe/_editor/_templates/_html_components/_composition_toolbar.py +79 -0
- figrecipe/_editor/_templates/_html_components/_file_browser.py +41 -0
- figrecipe/_editor/_templates/_html_datatable.py +92 -0
- figrecipe/_editor/_templates/_scripts/__init__.py +178 -0
- figrecipe/_editor/_templates/_scripts/_accordion.py +328 -0
- figrecipe/_editor/_templates/_scripts/_annotation_drag.py +504 -0
- figrecipe/_editor/_templates/_scripts/_api.py +228 -0
- figrecipe/_editor/_templates/_scripts/_canvas_context_menu.py +182 -0
- figrecipe/_editor/_templates/_scripts/_captions.py +231 -0
- figrecipe/_editor/_templates/_scripts/_colors.py +485 -0
- figrecipe/_editor/_templates/_scripts/_composition.py +283 -0
- figrecipe/_editor/_templates/_scripts/_core.py +493 -0
- figrecipe/_editor/_templates/_scripts/_datatable/__init__.py +59 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_cell_edit.py +97 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_clipboard.py +164 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_context_menu.py +221 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_core.py +150 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_editable.py +511 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_import.py +161 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_plot.py +261 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_selection.py +438 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_table.py +256 -0
- figrecipe/_editor/_templates/_scripts/_datatable/_tabs.py +354 -0
- figrecipe/_editor/_templates/_scripts/_debug_snapshot.py +186 -0
- figrecipe/_editor/_templates/_scripts/_element_editor.py +325 -0
- figrecipe/_editor/_templates/_scripts/_files.py +429 -0
- figrecipe/_editor/_templates/_scripts/_files_context_menu.py +240 -0
- figrecipe/_editor/_templates/_scripts/_hitmap.py +512 -0
- figrecipe/_editor/_templates/_scripts/_image_drop.py +428 -0
- figrecipe/_editor/_templates/_scripts/_inspector.py +315 -0
- figrecipe/_editor/_templates/_scripts/_labels.py +464 -0
- figrecipe/_editor/_templates/_scripts/_legend_drag.py +270 -0
- figrecipe/_editor/_templates/_scripts/_modals.py +226 -0
- figrecipe/_editor/_templates/_scripts/_multi_select.py +198 -0
- figrecipe/_editor/_templates/_scripts/_overlays.py +292 -0
- figrecipe/_editor/_templates/_scripts/_panel_drag.py +505 -0
- figrecipe/_editor/_templates/_scripts/_panel_drag_snapshot.py +33 -0
- figrecipe/_editor/_templates/_scripts/_panel_position.py +463 -0
- figrecipe/_editor/_templates/_scripts/_panel_resize.py +230 -0
- figrecipe/_editor/_templates/_scripts/_panel_snap.py +307 -0
- figrecipe/_editor/_templates/_scripts/_region_select.py +255 -0
- figrecipe/_editor/_templates/_scripts/_selection.py +244 -0
- figrecipe/_editor/_templates/_scripts/_sync.py +242 -0
- figrecipe/_editor/_templates/_scripts/_tabs.py +89 -0
- figrecipe/_editor/_templates/_scripts/_undo_redo.py +348 -0
- figrecipe/_editor/_templates/_scripts/_view_mode.py +107 -0
- figrecipe/_editor/_templates/_scripts/_zoom.py +212 -0
- figrecipe/_editor/_templates/_styles/__init__.py +78 -0
- figrecipe/_editor/_templates/_styles/_base.py +111 -0
- figrecipe/_editor/_templates/_styles/_buttons.py +327 -0
- figrecipe/_editor/_templates/_styles/_color_input.py +123 -0
- figrecipe/_editor/_templates/_styles/_composition.py +87 -0
- figrecipe/_editor/_templates/_styles/_controls.py +430 -0
- figrecipe/_editor/_templates/_styles/_datatable/__init__.py +40 -0
- figrecipe/_editor/_templates/_styles/_datatable/_editable.py +203 -0
- figrecipe/_editor/_templates/_styles/_datatable/_panel.py +268 -0
- figrecipe/_editor/_templates/_styles/_datatable/_table.py +479 -0
- figrecipe/_editor/_templates/_styles/_datatable/_toolbar.py +384 -0
- figrecipe/_editor/_templates/_styles/_datatable/_vars.py +123 -0
- figrecipe/_editor/_templates/_styles/_dynamic_props.py +144 -0
- figrecipe/_editor/_templates/_styles/_file_browser.py +466 -0
- figrecipe/_editor/_templates/_styles/_forms.py +224 -0
- figrecipe/_editor/_templates/_styles/_hitmap.py +191 -0
- figrecipe/_editor/_templates/_styles/_inspector.py +90 -0
- figrecipe/_editor/_templates/_styles/_labels.py +118 -0
- figrecipe/_editor/_templates/_styles/_modals.py +127 -0
- figrecipe/_editor/_templates/_styles/_overlays.py +130 -0
- figrecipe/_editor/_templates/_styles/_preview.py +430 -0
- figrecipe/_editor/_templates/_styles/_selection.py +73 -0
- figrecipe/_editor/_templates/_styles/_spinner.py +117 -0
- figrecipe/_editor/static/audio/click.mp3 +0 -0
- figrecipe/_editor/static/click.mp3 +0 -0
- figrecipe/_editor/static/icons/favicon.ico +0 -0
- figrecipe/_integrations/__init__.py +17 -0
- figrecipe/_integrations/_scitex_stats.py +298 -0
- figrecipe/_params/_DECORATION_METHODS.py +8 -0
- figrecipe/_recorder.py +63 -109
- figrecipe/_recorder_utils.py +124 -0
- figrecipe/_reproducer/__init__.py +18 -0
- figrecipe/_reproducer/_core.py +509 -0
- figrecipe/_reproducer/_custom_plots.py +279 -0
- figrecipe/_reproducer/_seaborn.py +100 -0
- figrecipe/_reproducer/_violin.py +186 -0
- figrecipe/_signatures/_kwargs.py +273 -0
- figrecipe/_signatures/_loader.py +21 -423
- figrecipe/_signatures/_parsing.py +147 -0
- figrecipe/_utils/__init__.py +3 -0
- figrecipe/_utils/_bundle.py +205 -0
- figrecipe/_wrappers/_axes.py +252 -895
- figrecipe/_wrappers/_axes_helpers.py +136 -0
- figrecipe/_wrappers/_axes_plots.py +418 -0
- figrecipe/_wrappers/_axes_seaborn.py +157 -0
- figrecipe/_wrappers/_caption_generator.py +218 -0
- figrecipe/_wrappers/_figure.py +188 -1
- figrecipe/_wrappers/_panel_labels.py +127 -0
- figrecipe/_wrappers/_plot_helpers.py +143 -0
- figrecipe/_wrappers/_stat_annotation.py +274 -0
- figrecipe/_wrappers/_violin_helpers.py +180 -0
- figrecipe/styles/__init__.py +8 -6
- figrecipe/styles/_dotdict.py +72 -0
- figrecipe/styles/_finalize.py +134 -0
- figrecipe/styles/_fonts.py +77 -0
- figrecipe/styles/_kwargs_converter.py +178 -0
- figrecipe/styles/_plot_styles.py +209 -0
- figrecipe/styles/_style_applier.py +42 -480
- figrecipe/styles/_style_loader.py +16 -192
- figrecipe/styles/_themes.py +151 -0
- figrecipe/styles/presets/MATPLOTLIB.yaml +2 -1
- figrecipe/styles/presets/SCITEX.yaml +40 -28
- figrecipe-0.9.0.dist-info/METADATA +427 -0
- figrecipe-0.9.0.dist-info/RECORD +277 -0
- figrecipe-0.9.0.dist-info/entry_points.txt +2 -0
- figrecipe/_editor/_bbox.py +0 -978
- figrecipe/_editor/_hitmap.py +0 -937
- figrecipe/_editor/_templates/_scripts.py +0 -2778
- figrecipe/_editor/_templates/_styles.py +0 -1326
- figrecipe/_reproducer.py +0 -975
- figrecipe-0.6.0.dist-info/METADATA +0 -394
- figrecipe-0.6.0.dist-info/RECORD +0 -90
- /figrecipe/_dev/demo_plotters/{plot_bar.py → bar_categorical/plot_bar.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_barh.py → bar_categorical/plot_barh.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_contour.py → contour_surface/plot_contour.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_contourf.py → contour_surface/plot_contourf.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_tricontour.py → contour_surface/plot_tricontour.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_tricontourf.py → contour_surface/plot_tricontourf.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_tripcolor.py → contour_surface/plot_tripcolor.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_triplot.py → contour_surface/plot_triplot.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_boxplot.py → distribution/plot_boxplot.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_ecdf.py → distribution/plot_ecdf.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_hist.py → distribution/plot_hist.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_hist2d.py → distribution/plot_hist2d.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_violinplot.py → distribution/plot_violinplot.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_hexbin.py → image_matrix/plot_hexbin.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_imshow.py → image_matrix/plot_imshow.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_matshow.py → image_matrix/plot_matshow.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_pcolor.py → image_matrix/plot_pcolor.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_pcolormesh.py → image_matrix/plot_pcolormesh.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_spy.py → image_matrix/plot_spy.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_errorbar.py → line_curve/plot_errorbar.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_fill.py → line_curve/plot_fill.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_fill_between.py → line_curve/plot_fill_between.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_fill_betweenx.py → line_curve/plot_fill_betweenx.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_stackplot.py → line_curve/plot_stackplot.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_stairs.py → line_curve/plot_stairs.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_step.py → line_curve/plot_step.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_scatter.py → scatter_points/plot_scatter.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_eventplot.py → special/plot_eventplot.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_loglog.py → special/plot_loglog.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_semilogx.py → special/plot_semilogx.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_semilogy.py → special/plot_semilogy.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_stem.py → special/plot_stem.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_acorr.py → spectral_signal/plot_acorr.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_angle_spectrum.py → spectral_signal/plot_angle_spectrum.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_cohere.py → spectral_signal/plot_cohere.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_csd.py → spectral_signal/plot_csd.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_magnitude_spectrum.py → spectral_signal/plot_magnitude_spectrum.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_phase_spectrum.py → spectral_signal/plot_phase_spectrum.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_psd.py → spectral_signal/plot_psd.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_specgram.py → spectral_signal/plot_specgram.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_xcorr.py → spectral_signal/plot_xcorr.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_barbs.py → vector_flow/plot_barbs.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_quiver.py → vector_flow/plot_quiver.py} +0 -0
- /figrecipe/_dev/demo_plotters/{plot_streamplot.py → vector_flow/plot_streamplot.py} +0 -0
- {figrecipe-0.6.0.dist-info → figrecipe-0.9.0.dist-info}/WHEEL +0 -0
- {figrecipe-0.6.0.dist-info → figrecipe-0.9.0.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,394 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: figrecipe
|
|
3
|
-
Version: 0.6.0
|
|
4
|
-
Summary: Reproducible matplotlib wrapper with mm-precision layouts
|
|
5
|
-
Project-URL: Homepage, https://github.com/ywatanabe1989/figrecipe
|
|
6
|
-
Project-URL: Documentation, https://github.com/ywatanabe1989/figrecipe#readme
|
|
7
|
-
Project-URL: Repository, https://github.com/ywatanabe1989/figrecipe.git
|
|
8
|
-
Project-URL: Issues, https://github.com/ywatanabe1989/figrecipe/issues
|
|
9
|
-
Author-email: Yusuke Watanabe <ywatanabe@scitex.ai>
|
|
10
|
-
License-Expression: AGPL-3.0
|
|
11
|
-
License-File: LICENSE
|
|
12
|
-
Keywords: matplotlib,millimeter,plotting,publication,recipe,reproducibility,scientific,visualization,yaml
|
|
13
|
-
Classifier: Development Status :: 4 - Beta
|
|
14
|
-
Classifier: Intended Audience :: Science/Research
|
|
15
|
-
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
|
|
16
|
-
Classifier: Operating System :: OS Independent
|
|
17
|
-
Classifier: Programming Language :: Python :: 3
|
|
18
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
19
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
20
|
-
Classifier: Programming Language :: Python :: 3.11
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.12
|
|
22
|
-
Classifier: Topic :: Scientific/Engineering :: Visualization
|
|
23
|
-
Requires-Python: >=3.9
|
|
24
|
-
Requires-Dist: matplotlib>=3.5.0
|
|
25
|
-
Requires-Dist: numpy>=1.20.0
|
|
26
|
-
Requires-Dist: ruamel-yaml>=0.17.0
|
|
27
|
-
Requires-Dist: scipy>=1.7.0
|
|
28
|
-
Provides-Extra: all
|
|
29
|
-
Requires-Dist: flask>=2.0.0; extra == 'all'
|
|
30
|
-
Requires-Dist: pandas>=1.3.0; extra == 'all'
|
|
31
|
-
Requires-Dist: pillow>=9.0.0; extra == 'all'
|
|
32
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == 'all'
|
|
33
|
-
Requires-Dist: pytest>=7.0.0; extra == 'all'
|
|
34
|
-
Requires-Dist: seaborn>=0.12.0; extra == 'all'
|
|
35
|
-
Provides-Extra: dev
|
|
36
|
-
Requires-Dist: pre-commit>=3.5.0; extra == 'dev'
|
|
37
|
-
Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
|
|
38
|
-
Requires-Dist: pytest>=7.0.0; extra == 'dev'
|
|
39
|
-
Provides-Extra: editor
|
|
40
|
-
Requires-Dist: flask>=2.0.0; extra == 'editor'
|
|
41
|
-
Requires-Dist: pillow>=9.0.0; extra == 'editor'
|
|
42
|
-
Provides-Extra: imaging
|
|
43
|
-
Requires-Dist: pillow>=9.0.0; extra == 'imaging'
|
|
44
|
-
Provides-Extra: seaborn
|
|
45
|
-
Requires-Dist: pandas>=1.3.0; extra == 'seaborn'
|
|
46
|
-
Requires-Dist: seaborn>=0.12.0; extra == 'seaborn'
|
|
47
|
-
Description-Content-Type: text/markdown
|
|
48
|
-
|
|
49
|
-
<!-- ---
|
|
50
|
-
!-- Timestamp: 2025-12-22 14:49:10
|
|
51
|
-
!-- Author: ywatanabe
|
|
52
|
-
!-- File: /home/ywatanabe/proj/figrecipe/README.md
|
|
53
|
-
!-- --- -->
|
|
54
|
-
|
|
55
|
-
<p align="center">
|
|
56
|
-
<img src="docs/figrecipe_logo.png" alt="figrecipe logo" width="200"/>
|
|
57
|
-
</p>
|
|
58
|
-
|
|
59
|
-
# FigRecipe
|
|
60
|
-
|
|
61
|
-
**Reproducible matplotlib figures with mm-precision layouts.**
|
|
62
|
-
FigRecipe is a lightweight recording & reproduction layer for matplotlib,
|
|
63
|
-
designed for scientific figures that must remain **editable, inspectable,
|
|
64
|
-
and reproducible**.
|
|
65
|
-
|
|
66
|
-
Part of **SciTeX™ – Research OS for reproducible science**
|
|
67
|
-
https://scitex.ai
|
|
68
|
-
|
|
69
|
-
[](https://badge.fury.io/py/figrecipe)
|
|
70
|
-
[](https://github.com/ywatanabe1989/figrecipe/actions/workflows/test.yml)
|
|
71
|
-
[](https://www.gnu.org/licenses/agpl-3.0)
|
|
72
|
-
|
|
73
|
-
---
|
|
74
|
-
|
|
75
|
-
## Why FigRecipe?
|
|
76
|
-
|
|
77
|
-
In scientific workflows, figures are often:
|
|
78
|
-
- hard to reproduce once scripts change,
|
|
79
|
-
- resized manually in pixels or inches,
|
|
80
|
-
- impossible to partially reuse or inspect later.
|
|
81
|
-
|
|
82
|
-
**FigRecipe solves this by recording plotting calls as a structured “recipe”**,
|
|
83
|
-
allowing figures to be:
|
|
84
|
-
- faithfully reproduced,
|
|
85
|
-
- partially re-rendered,
|
|
86
|
-
- inspected for underlying data,
|
|
87
|
-
- laid out in **exact millimeters** for publication.
|
|
88
|
-
|
|
89
|
-
---
|
|
90
|
-
|
|
91
|
-
## Key Features
|
|
92
|
-
|
|
93
|
-
- ✅ Drop-in replacement for `matplotlib.pyplot` (use `figrecipe.pyplot` to enable recording)
|
|
94
|
-
- ✅ Automatic recording of plotting calls
|
|
95
|
-
- ✅ Reproduce figures from a YAML recipe
|
|
96
|
-
- ✅ Extract plotted data programmatically
|
|
97
|
-
- ✅ Selective reproduction of specific plots
|
|
98
|
-
- ✅ Millimeter-based layout (journal-ready)
|
|
99
|
-
- ✅ Publication-quality style presets
|
|
100
|
-
- ✅ Dark theme support (data colors preserved)
|
|
101
|
-
- ✅ Seamless seaborn integration
|
|
102
|
-
- ✅ Crop figures to content with mm margins
|
|
103
|
-
- ✅ **Interactive GUI editor** with live preview
|
|
104
|
-
|
|
105
|
-
---
|
|
106
|
-
|
|
107
|
-
## Examples
|
|
108
|
-
|
|
109
|
-
📓 **[View Demo Notebook on nbviewer](https://nbviewer.org/github/ywatanabe1989/figrecipe/blob/main/examples/figrecipe_demo.ipynb)** (recommended)
|
|
110
|
-
|
|
111
|
-
The notebook includes side-by-side comparisons of original and reproduced figures.
|
|
112
|
-
|
|
113
|
-
Source: [examples/figrecipe_demo.ipynb](examples/figrecipe_demo.ipynb)
|
|
114
|
-
|
|
115
|
-
## Installation
|
|
116
|
-
|
|
117
|
-
```bash
|
|
118
|
-
pip install figrecipe
|
|
119
|
-
|
|
120
|
-
# Optional extras
|
|
121
|
-
pip install figrecipe[seaborn] # seaborn + pandas support
|
|
122
|
-
pip install figrecipe[imaging] # image cropping (Pillow)
|
|
123
|
-
pip install figrecipe[all] # all extras
|
|
124
|
-
|
|
125
|
-
# Optional: for PDF export from notebooks (SVG → PDF)
|
|
126
|
-
sudo apt install inkscape # Linux
|
|
127
|
-
brew install inkscape # macOS
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
**Requirements:** Python >= 3.9
|
|
131
|
-
|
|
132
|
-
## Basic Usage
|
|
133
|
-
|
|
134
|
-
### Recording & Saving
|
|
135
|
-
|
|
136
|
-
``` python
|
|
137
|
-
import figrecipe as fr
|
|
138
|
-
# import figrecipe.pyplot as plt
|
|
139
|
-
import numpy as np
|
|
140
|
-
|
|
141
|
-
x = np.linspace(0, 10, 100)
|
|
142
|
-
y = np.sin(x)
|
|
143
|
-
|
|
144
|
-
fig, ax = fr.subplots() # or plt.subplots()
|
|
145
|
-
ax.plot(x, y, color='red', linewidth=2, id='sine_wave')
|
|
146
|
-
ax.set_xlabel('Time (s)')
|
|
147
|
-
ax.set_ylabel('Amplitude')
|
|
148
|
-
|
|
149
|
-
# Save image + recipe
|
|
150
|
-
img_path, yaml_path, result = fr.save(fig, 'figure.png')
|
|
151
|
-
# → creates: figure.png + figure.yaml
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### Reproducing a Figure
|
|
155
|
-
|
|
156
|
-
``` python
|
|
157
|
-
import figrecipe as fr
|
|
158
|
-
|
|
159
|
-
fig, ax = fr.reproduce('figure.yaml')
|
|
160
|
-
```
|
|
161
|
-
|
|
162
|
-
### Extracting Plotted Data
|
|
163
|
-
|
|
164
|
-
``` python
|
|
165
|
-
import figrecipe as fr
|
|
166
|
-
|
|
167
|
-
data = fr.extract_data('figure.yaml')
|
|
168
|
-
# {'sine_wave': {'x': array([...]), 'y': array([...])}}
|
|
169
|
-
```
|
|
170
|
-
|
|
171
|
-
### Millimeter-Based Layout (Publication-Ready)
|
|
172
|
-
|
|
173
|
-
``` python
|
|
174
|
-
fig, ax = fr.subplots(
|
|
175
|
-
axes_width_mm=60,
|
|
176
|
-
axes_height_mm=40,
|
|
177
|
-
margin_left_mm=15,
|
|
178
|
-
margin_bottom_mm=12,
|
|
179
|
-
)
|
|
180
|
-
```
|
|
181
|
-
This guarantees consistent sizing across editors, exports, and journals.
|
|
182
|
-
|
|
183
|
-
### Style Presets
|
|
184
|
-
|
|
185
|
-
``` python
|
|
186
|
-
fr.list_presets()
|
|
187
|
-
# ['MATPLOTLIB', 'SCITEX']
|
|
188
|
-
|
|
189
|
-
# Publication-quality preset (applied globally)
|
|
190
|
-
fr.load_style('SCITEX')
|
|
191
|
-
fig, ax = fr.subplots()
|
|
192
|
-
|
|
193
|
-
# Dark theme (UI-only, data colors preserved)
|
|
194
|
-
fr.load_style('SCITEX_DARK')
|
|
195
|
-
# or: fr.load_style('SCITEX', dark=True)
|
|
196
|
-
|
|
197
|
-
# Custom style
|
|
198
|
-
fr.load_style('/path/to/my_style.yaml')
|
|
199
|
-
```
|
|
200
|
-
|
|
201
|
-
See [src/figrecipe/styles/presets/](src/figrecipe/styles/presets/) for full examples.
|
|
202
|
-
|
|
203
|
-
### Interactive GUI Editor
|
|
204
|
-
|
|
205
|
-
``` python
|
|
206
|
-
import figrecipe as fr
|
|
207
|
-
import numpy as np
|
|
208
|
-
|
|
209
|
-
fig, ax = fr.subplots()
|
|
210
|
-
ax.plot(np.sin(np.linspace(0, 10, 100)))
|
|
211
|
-
|
|
212
|
-
# Launch browser-based editor
|
|
213
|
-
overrides = fr.edit(fig, port=5050)
|
|
214
|
-
|
|
215
|
-
# Returns style overrides when editor is closed (Ctrl+C)
|
|
216
|
-
# Apply overrides to future figures or save to custom YAML
|
|
217
|
-
```
|
|
218
|
-
|
|
219
|
-
The editor provides:
|
|
220
|
-
- **Live preview** with real-time style updates
|
|
221
|
-
- **Theme switching** between SCITEX/MATPLOTLIB presets
|
|
222
|
-
- **Element selection** with hover highlighting
|
|
223
|
-
- **Property panels** for Figure, Axis, Legend, and Labels
|
|
224
|
-
- **Download** in PNG, SVG, PDF formats
|
|
225
|
-
- **Export** updated recipe YAML
|
|
226
|
-
|
|
227
|
-
### Style Format (YAML)
|
|
228
|
-
|
|
229
|
-
``` yaml
|
|
230
|
-
# Timestamp: "2025-12-22 12:40:36 (ywatanabe)"
|
|
231
|
-
# File: ./src/figrecipe/styles/presets/SCITEX.yaml
|
|
232
|
-
# FIGRECIPE Style Preset
|
|
233
|
-
# ======================
|
|
234
|
-
# Publication-quality settings for scientific figures.
|
|
235
|
-
# Optimized for scientific journals with Arial font.
|
|
236
|
-
|
|
237
|
-
axes:
|
|
238
|
-
width_mm: 40
|
|
239
|
-
height_mm: 28
|
|
240
|
-
thickness_mm: 0.2
|
|
241
|
-
|
|
242
|
-
margins:
|
|
243
|
-
left_mm: 1
|
|
244
|
-
right_mm: 1
|
|
245
|
-
bottom_mm: 1
|
|
246
|
-
top_mm: 1
|
|
247
|
-
|
|
248
|
-
spacing:
|
|
249
|
-
horizontal_mm: 8
|
|
250
|
-
vertical_mm: 10
|
|
251
|
-
|
|
252
|
-
fonts:
|
|
253
|
-
family: "Arial"
|
|
254
|
-
axis_label_pt: 7
|
|
255
|
-
tick_label_pt: 7
|
|
256
|
-
title_pt: 8
|
|
257
|
-
suptitle_pt: 8
|
|
258
|
-
legend_pt: 6
|
|
259
|
-
annotation_pt: 6
|
|
260
|
-
|
|
261
|
-
padding:
|
|
262
|
-
label_pt: 2.0
|
|
263
|
-
tick_pt: 2.0
|
|
264
|
-
title_pt: 4.0
|
|
265
|
-
|
|
266
|
-
lines:
|
|
267
|
-
trace_mm: 0.2
|
|
268
|
-
errorbar_mm: 0.2
|
|
269
|
-
errorbar_cap_mm: 0.8
|
|
270
|
-
|
|
271
|
-
ticks:
|
|
272
|
-
length_mm: 0.8
|
|
273
|
-
thickness_mm: 0.2
|
|
274
|
-
direction: "out"
|
|
275
|
-
n_ticks: 4
|
|
276
|
-
|
|
277
|
-
markers:
|
|
278
|
-
size_mm: 0.8
|
|
279
|
-
scatter_mm: 0.8
|
|
280
|
-
edge_width_mm: null # None = no border (cleaner than 0)
|
|
281
|
-
|
|
282
|
-
legend:
|
|
283
|
-
frameon: false # No frame for clean look
|
|
284
|
-
bg: null # Background (null = use theme.legend_bg)
|
|
285
|
-
edgecolor: null # Frame edge color
|
|
286
|
-
alpha: 1.0 # Transparency
|
|
287
|
-
loc: "best"
|
|
288
|
-
|
|
289
|
-
output:
|
|
290
|
-
dpi: 300
|
|
291
|
-
transparent: true
|
|
292
|
-
format: "pdf"
|
|
293
|
-
|
|
294
|
-
behavior:
|
|
295
|
-
auto_scale_axes: true
|
|
296
|
-
hide_top_spine: true
|
|
297
|
-
hide_right_spine: true
|
|
298
|
-
grid: false
|
|
299
|
-
|
|
300
|
-
theme:
|
|
301
|
-
mode: "light"
|
|
302
|
-
dark:
|
|
303
|
-
figure_bg: "transparent"
|
|
304
|
-
axes_bg: "transparent"
|
|
305
|
-
legend_bg: "transparent"
|
|
306
|
-
text: "#d4d4d4"
|
|
307
|
-
spine: "#d4d4d4"
|
|
308
|
-
tick: "#d4d4d4"
|
|
309
|
-
grid: "#3a3a3a"
|
|
310
|
-
light:
|
|
311
|
-
figure_bg: "transparent"
|
|
312
|
-
axes_bg: "transparent"
|
|
313
|
-
legend_bg: "transparent"
|
|
314
|
-
text: "black"
|
|
315
|
-
spine: "black"
|
|
316
|
-
tick: "black"
|
|
317
|
-
grid: "#cccccc"
|
|
318
|
-
|
|
319
|
-
# SciTeX Color Palette (RGB format)
|
|
320
|
-
colors:
|
|
321
|
-
palette:
|
|
322
|
-
- [0, 128, 192] # blue
|
|
323
|
-
- [255, 70, 50] # red
|
|
324
|
-
- [20, 180, 20] # green
|
|
325
|
-
- [230, 160, 20] # yellow
|
|
326
|
-
- [200, 50, 255] # purple
|
|
327
|
-
- [20, 200, 200] # lightblue
|
|
328
|
-
- [228, 94, 50] # orange
|
|
329
|
-
- [255, 150, 200] # pink
|
|
330
|
-
|
|
331
|
-
# Named colors
|
|
332
|
-
white: [255, 255, 255]
|
|
333
|
-
black: [0, 0, 0]
|
|
334
|
-
blue: [0, 128, 192]
|
|
335
|
-
red: [255, 70, 50]
|
|
336
|
-
pink: [255, 150, 200]
|
|
337
|
-
green: [20, 180, 20]
|
|
338
|
-
yellow: [230, 160, 20]
|
|
339
|
-
gray: [128, 128, 128]
|
|
340
|
-
grey: [128, 128, 128]
|
|
341
|
-
purple: [200, 50, 255]
|
|
342
|
-
lightblue: [20, 200, 200]
|
|
343
|
-
brown: [128, 0, 0]
|
|
344
|
-
navy: [0, 0, 100]
|
|
345
|
-
orange: [228, 94, 50]
|
|
346
|
-
|
|
347
|
-
# Semantic
|
|
348
|
-
primary: [0, 128, 192]
|
|
349
|
-
secondary: [255, 70, 50]
|
|
350
|
-
accent: [20, 180, 20]
|
|
351
|
-
|
|
352
|
-
# EOF
|
|
353
|
-
```
|
|
354
|
-
|
|
355
|
-
|
|
356
|
-
### API Overview
|
|
357
|
-
|
|
358
|
-
| Import | Description |
|
|
359
|
-
|----------------------------------|---------------------------------------------------|
|
|
360
|
-
| `import figrecipe.pyplot as plt` | Drop-in replacement of `matplotlib.pyplot as plt` |
|
|
361
|
-
| `import figrecipe as fr` | Import figrecipe package |
|
|
362
|
-
|----------------------------------|---------------------------------------------------|
|
|
363
|
-
| Function | |
|
|
364
|
-
|----------------------------------|---------------------------------------------------|
|
|
365
|
-
| `fr.subplots()` | Create a recording-enabled figure |
|
|
366
|
-
| `fr.save(fig, 'fig.png')` | Save image + recipe |
|
|
367
|
-
| `fr.reproduce('fig.yaml')` | Reproduce figure from recipe |
|
|
368
|
-
| `fr.extract_data('fig.yaml')` | Extract plotted data |
|
|
369
|
-
| `fr.info('fig.yaml')` | Inspect recipe metadata |
|
|
370
|
-
| `fr.edit(fig)` | Launch interactive GUI editor |
|
|
371
|
-
| `fr.load_style()` | Load style preset (global) |
|
|
372
|
-
| `fr.list_presets()` | List available presets |
|
|
373
|
-
| `fr.crop('fig.png')` | Crop to content with mm margin |
|
|
374
|
-
|
|
375
|
-
## Positioning
|
|
376
|
-
|
|
377
|
-
FigRecipe focuses on *how* figures are constructed, not *what* they represent.
|
|
378
|
-
|
|
379
|
-
FigRecipe provides recording, reproduction, layout fidelity, and interactive editing.
|
|
380
|
-
|
|
381
|
-
Higher-level workflows (figures–tables–statistics bundle, integration with manuscript writing) are handled in:
|
|
382
|
-
|
|
383
|
-
FTS (Figure-Table-Statistics Bundle) in SciTeX Ecosystem:
|
|
384
|
-
https://github.com/ywatanabe1989/scitex-code
|
|
385
|
-
https://scitex.ai/vis/
|
|
386
|
-
https://scitex.ai/writer/
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
## License
|
|
390
|
-
|
|
391
|
-
AGPL-3.0 See [LICENSE](LICENSE)
|
|
392
|
-
.
|
|
393
|
-
|
|
394
|
-
<!-- EOF -->
|
figrecipe-0.6.0.dist-info/RECORD
DELETED
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
figrecipe/__init__.py,sha256=0e2XWApmdZk4AnledqGGb5ptLahZ-1I5NaIjUS3YzyY,41731
|
|
2
|
-
figrecipe/_recorder.py,sha256=oF52PizJjPfBrjfb1-g-LlCdexSGNrVFZw4uUEb8TmU,15984
|
|
3
|
-
figrecipe/_reproducer.py,sha256=b8Qjgmh12pSZgkHVKUSchz8UlK9FipD2D5zV-1KV-Hc,28933
|
|
4
|
-
figrecipe/_seaborn.py,sha256=H_yDpHCB0F-6goQ6eY_3oe7LA3EhGanC7i2ScBnwcKE,8327
|
|
5
|
-
figrecipe/_serializer.py,sha256=aNz-7SNjweFBcdK_9FXcptgLTd_jHFqG8q5E7gTVImE,6248
|
|
6
|
-
figrecipe/_validator.py,sha256=Aevecjk8mCX-yp92BQkz9F5hxEPev9n-yQuDRaEO3CE,5821
|
|
7
|
-
figrecipe/plt.py,sha256=rFmUE3dzCIVPm_kmHjMhj2u20u0gpinYO7HEooi3joE,280
|
|
8
|
-
figrecipe/pyplot.py,sha256=WVdPgm-0R5Nw-wwNUMbUe9F1jn89DrwgYPhK6vXhqIc,5686
|
|
9
|
-
figrecipe/_dev/__init__.py,sha256=RD8QbtlGfHFbFXd551DYw0KyCdXbflVnjBfSnBSNioo,3193
|
|
10
|
-
figrecipe/_dev/demo_plotters/__init__.py,sha256=H4F0AMEQIc6gIGxI_5083yPhIgjMrT0Tl-XSn7AJeZM,5314
|
|
11
|
-
figrecipe/_dev/demo_plotters/plot_acorr.py,sha256=URj5y4BwUpsaCdLZ3Z3PEnos0kTZSSSM90VSTAqo0xU,505
|
|
12
|
-
figrecipe/_dev/demo_plotters/plot_angle_spectrum.py,sha256=aRR6pE1UIAU7vEPOVryvX8TinDoAX-V8Y48dYqr3qEE,697
|
|
13
|
-
figrecipe/_dev/demo_plotters/plot_bar.py,sha256=yq0RRH9Gp7SXeaaekfNM0UqXTiFR882pWceUO05BrJ0,530
|
|
14
|
-
figrecipe/_dev/demo_plotters/plot_barbs.py,sha256=if9EVceghVPREOSEvo9_qZQym3G74gFDV0zVsY6fWqI,625
|
|
15
|
-
figrecipe/_dev/demo_plotters/plot_barh.py,sha256=UvldSfn-vVu_YdsLccfEC8ujkWQ0fmZdEZRRS9iM47Q,558
|
|
16
|
-
figrecipe/_dev/demo_plotters/plot_boxplot.py,sha256=_FGUZKpKsCN0QkY3x3iD0T6SWVWIilqXQfnEdERnKms,543
|
|
17
|
-
figrecipe/_dev/demo_plotters/plot_cohere.py,sha256=v0eRGcSo1i6f_pl9w87p9kI1MX6ag7zV55xH1_c3ews,671
|
|
18
|
-
figrecipe/_dev/demo_plotters/plot_contour.py,sha256=SWz4aJnnz3BxzGD61kouXFM_x3rL75IFvPPXXGE5_zk,624
|
|
19
|
-
figrecipe/_dev/demo_plotters/plot_contourf.py,sha256=ZsuwNwfNbnlOwFMYFsrIkAM3rJ-QAmgT26wYxxfGmk0,621
|
|
20
|
-
figrecipe/_dev/demo_plotters/plot_csd.py,sha256=RMPSipAyF3tZjuA6QZYbptEbRmUUCqzLy-PzhCv5_Es,673
|
|
21
|
-
figrecipe/_dev/demo_plotters/plot_ecdf.py,sha256=hjosy8Z10XXGrFcmkrF9Z7mMlZ-y2Bfku54kpEGs014,498
|
|
22
|
-
figrecipe/_dev/demo_plotters/plot_errorbar.py,sha256=TIH1JPUJkepmnsS6CKAGmx5C4Mi2ho1nHmDzT3I_eew,583
|
|
23
|
-
figrecipe/_dev/demo_plotters/plot_eventplot.py,sha256=0UFjOzUeI2Y8-f5VD6RsKqzBZAFekXrFeKHLDz_qvZY,578
|
|
24
|
-
figrecipe/_dev/demo_plotters/plot_fill.py,sha256=U3F6YF05Wl68MDCe9-zdLjmRfN864X9o9Ty2D0AJ60k,585
|
|
25
|
-
figrecipe/_dev/demo_plotters/plot_fill_between.py,sha256=EhcUIiGbK_8oLnQ-KIKckptM_gtMviJPnXVphwdV5PE,688
|
|
26
|
-
figrecipe/_dev/demo_plotters/plot_fill_betweenx.py,sha256=ap4S91Ny6XKzJdS-xUyCrnDsG5sShkKbG5HbcR1g_YU,624
|
|
27
|
-
figrecipe/_dev/demo_plotters/plot_hexbin.py,sha256=dcA2clgNpCndb8H2D8aTUcgsgDlk-eotUCvrJ-HUK1s,522
|
|
28
|
-
figrecipe/_dev/demo_plotters/plot_hist.py,sha256=7KDdldxZZ1yw1e2IVw8JC6l7r-AxhGapxHvjmgiPN10,486
|
|
29
|
-
figrecipe/_dev/demo_plotters/plot_hist2d.py,sha256=XES4qLGaE9yiVgzUehhH18I5SAmRr0BE-rq0J_SNcxw,512
|
|
30
|
-
figrecipe/_dev/demo_plotters/plot_imshow.py,sha256=z8N70pjwnMqud9g83wszRdudZWSbCt_MoLukaq_XLl4,464
|
|
31
|
-
figrecipe/_dev/demo_plotters/plot_loglog.py,sha256=7IiBJeFDB865Ly7uVXbUyMX9PklpdrKUDX95kLWEFcs,513
|
|
32
|
-
figrecipe/_dev/demo_plotters/plot_magnitude_spectrum.py,sha256=TbAyoyJ7INaLy8Gj7K0C2i8kr6slIqjP3BV5jDIOEHU,699
|
|
33
|
-
figrecipe/_dev/demo_plotters/plot_matshow.py,sha256=6j_VzV0yMtd9CErvzXXUL7O615sWcPqGdsdufM6urwo,472
|
|
34
|
-
figrecipe/_dev/demo_plotters/plot_pcolor.py,sha256=-G3K1l1m8WtVI_c9aIo1OsROb2o6O5YkMDWNZm3wmCE,596
|
|
35
|
-
figrecipe/_dev/demo_plotters/plot_pcolormesh.py,sha256=MPAr9yTn41IeWP2ixiWkVVZWJnDi3qTrBr1tZkW_1J8,650
|
|
36
|
-
figrecipe/_dev/demo_plotters/plot_phase_spectrum.py,sha256=D8Gvt66yFg-NMr9pBhWSOHvZC00sr73pI6Q-qymo2bs,685
|
|
37
|
-
figrecipe/_dev/demo_plotters/plot_pie.py,sha256=bhpJpIlhKh9sAZ__Bm0GhtR97uVtTZPLF-zYom9RFL0,459
|
|
38
|
-
figrecipe/_dev/demo_plotters/plot_plot.py,sha256=C1_x6mBMwzXMzCLR9dwDOhEsCNdVZa3IJmNwhlzzjFw,534
|
|
39
|
-
figrecipe/_dev/demo_plotters/plot_psd.py,sha256=_5F0cQu1reUvx0dfXWYZ1BuKCjsg2jowNzEYRmvMmuc,672
|
|
40
|
-
figrecipe/_dev/demo_plotters/plot_quiver.py,sha256=e3okVGvjZt_sqCEM_noikyPJ4HIxunH-RZosPVmuXAY,609
|
|
41
|
-
figrecipe/_dev/demo_plotters/plot_scatter.py,sha256=-ZZGsRbgZSOvqMMGU0CrHKQkojeTfQPciC6eSorON5U,514
|
|
42
|
-
figrecipe/_dev/demo_plotters/plot_semilogx.py,sha256=aDfCCiuZrbTgfiYD4wcq_5q66VE0FzUOG1h4V2boUBo,544
|
|
43
|
-
figrecipe/_dev/demo_plotters/plot_semilogy.py,sha256=lqEuQHnI92eWrVhYTzExPUEkRZBrR02-Cgebnu1lXBE,542
|
|
44
|
-
figrecipe/_dev/demo_plotters/plot_specgram.py,sha256=MyPjy3XVgD40zgD8sUIe6AkzkOD18JWKDMIDyhThP6s,670
|
|
45
|
-
figrecipe/_dev/demo_plotters/plot_spy.py,sha256=lby0AHDpbXCec2EHbOWMg6EpBp4quHxfrvHMfgaBAH0,602
|
|
46
|
-
figrecipe/_dev/demo_plotters/plot_stackplot.py,sha256=WUqYL3bqLurRCAPaDPHtRWeAtaIUOMbWPVS2vWrVlsw,622
|
|
47
|
-
figrecipe/_dev/demo_plotters/plot_stairs.py,sha256=os3Elybe_vNarMo6wWUoQgxkBPhstebe6M67aCWPigQ,566
|
|
48
|
-
figrecipe/_dev/demo_plotters/plot_stem.py,sha256=-F7AkHxwnizJ7_nkFj_Jw2PD4kgI2mN-RgSyIKkU_XI,504
|
|
49
|
-
figrecipe/_dev/demo_plotters/plot_step.py,sha256=_qMs8H1Vj3EaG8FnAUOyiDgnRu_PpmQ9tB_mqqWY6nE,517
|
|
50
|
-
figrecipe/_dev/demo_plotters/plot_streamplot.py,sha256=IulKlBfpK8SIIau_E_msZ3cNk2_nqDstMae6TEnl8uI,618
|
|
51
|
-
figrecipe/_dev/demo_plotters/plot_tricontour.py,sha256=VkvwyPPKl_1GGWHxLbfeQrUCK-uPQ3t31DMmkyE_g3w,623
|
|
52
|
-
figrecipe/_dev/demo_plotters/plot_tricontourf.py,sha256=mHF0WFnlHji65dXV347VYWsUB_LBIN68wLvRW9FZdwo,643
|
|
53
|
-
figrecipe/_dev/demo_plotters/plot_tripcolor.py,sha256=UMFi9PETxs_En6Tzk54_bF9qUHjnQq8beCj8ZM6NARs,671
|
|
54
|
-
figrecipe/_dev/demo_plotters/plot_triplot.py,sha256=Rkc-Y6zito57X2we1wfeGqM-GB0yBJDg7gkB8Py8doY,532
|
|
55
|
-
figrecipe/_dev/demo_plotters/plot_violinplot.py,sha256=ssxe8YdXSlgtrk8sMjiaeUHAePpt4WUnCP_DLNu26q8,597
|
|
56
|
-
figrecipe/_dev/demo_plotters/plot_xcorr.py,sha256=BUDU5phnG88UkJUdc4v-TGMR2RoPHQUNzCLwNhI7YpI,544
|
|
57
|
-
figrecipe/_editor/__init__.py,sha256=GX3jN6Wh4asSkHPJOO88MoGemnsWvusp0qGGcR-nKZA,6511
|
|
58
|
-
figrecipe/_editor/_bbox.py,sha256=Pis7E7idxynQTuw1hCOWFH8CeUAynvx3Rn-uJb2tbtg,29698
|
|
59
|
-
figrecipe/_editor/_flask_app.py,sha256=vqcqi10PtKA4l7MT0CYfjC-b09lMAOt3MVTsfAZRl5M,45417
|
|
60
|
-
figrecipe/_editor/_hitmap.py,sha256=TbCPqPek7qwNCrwM93Gj7Vj02ZgPVdJ_zO-aZmAaSVM,31301
|
|
61
|
-
figrecipe/_editor/_overrides.py,sha256=Q7MWLo9bUBgnuYvPByC9TrYq_ajdBMPuKptw0CsohuY,8892
|
|
62
|
-
figrecipe/_editor/_renderer.py,sha256=StrYAoCtjs7ClL9KlBPw0y7ZlJ1VlaK0nuHWNe_NbuI,10308
|
|
63
|
-
figrecipe/_editor/_templates/__init__.py,sha256=cEDSRm1p-E16XiKTfK0co7zl_oWUkj8YJhAl2126kb0,2347
|
|
64
|
-
figrecipe/_editor/_templates/_html.py,sha256=MWRYboevS_I0bghgY13iCxlZ-Kpi2gOJz9yRP9VWRRo,22394
|
|
65
|
-
figrecipe/_editor/_templates/_scripts.py,sha256=eI7zEVEitrqDPXnMEzKCZPymYq1IUaz97AYCzl46msI,100135
|
|
66
|
-
figrecipe/_editor/_templates/_styles.py,sha256=Vt_jnVXZTx15OmpzijdNnNyd3Vh3OLDFlmc4ycjZbBM,26457
|
|
67
|
-
figrecipe/_params/_DECORATION_METHODS.py,sha256=YqHj7lbnLgwjFvkfEPwGlY2UcTTClVOEwxsQkHQCpj4,466
|
|
68
|
-
figrecipe/_params/_PLOTTING_METHODS.py,sha256=6S2SvXPQpQ0Y6ut-8kUjyheMNtiDEQCY1aB59XPq788,929
|
|
69
|
-
figrecipe/_params/__init__.py,sha256=EjlVg-n_DlASnSxQYW61kd8JnKeyo-1DMMusJUxm_io,245
|
|
70
|
-
figrecipe/_signatures/README.md,sha256=eDchfORRdfMAdlPBTKMP3PgcIQywhK3KB1yps3YIzYw,1085
|
|
71
|
-
figrecipe/_signatures/__init__.py,sha256=ekzkD0PG8dvRce7Rc3iRBo65GkOqYLP5hYBGIXfmaaQ,332
|
|
72
|
-
figrecipe/_signatures/_loader.py,sha256=hcd2RC31_ZuSrn63bHqvYCrWuR3a0KJQCIzgNk6xOLA,21844
|
|
73
|
-
figrecipe/_utils/__init__.py,sha256=TYh3wizq2WoUuopE8WZBvUTTSSJGud1EReb3INsSAM4,845
|
|
74
|
-
figrecipe/_utils/_crop.py,sha256=vOZuggtGIeJYYwRBugq5OebF3a5s5j0h_3STPtfhJjU,8474
|
|
75
|
-
figrecipe/_utils/_diff.py,sha256=cjRXjMrfXFKz6uZQOZ-XYifc0mzmHZyRXn_LY13K1SY,2354
|
|
76
|
-
figrecipe/_utils/_image_diff.py,sha256=LCXRbXqEtr_mI5Xpk1ju59Fw5B2UqNtvYZx_Uyh98Sw,5416
|
|
77
|
-
figrecipe/_utils/_numpy_io.py,sha256=YYUDtkyBEeXZ54iSpC_7CoxP33Yk1eoRbIabZYol-SY,4532
|
|
78
|
-
figrecipe/_utils/_units.py,sha256=EJiG4-Fle3C5oQ7vNIqG_Ms_vru_0NPj39ESEXO84ZY,4656
|
|
79
|
-
figrecipe/_wrappers/__init__.py,sha256=CcBUID5G6Mo_bNGpCaz5vbfB8CG7XtF-9lOm7kShQPw,214
|
|
80
|
-
figrecipe/_wrappers/_axes.py,sha256=scmXSe7Uh4fxbMoSiOx8bHBS4LmQ5pOm59OOaYFMYT0,36998
|
|
81
|
-
figrecipe/_wrappers/_figure.py,sha256=6S0fptSkO2E7qx1hzjX4jpgrnvHA8jXW_R1GmDoIrlA,9826
|
|
82
|
-
figrecipe/styles/__init__.py,sha256=yFiAHmPS83-pj2s6n5ZqR-_9jexdNAm6IzGwYwFIMR8,975
|
|
83
|
-
figrecipe/styles/_style_applier.py,sha256=ylBZTUh-8Xs9bO4-IzqSlwoGqdskWym8tgJ2iatPc8w,24543
|
|
84
|
-
figrecipe/styles/_style_loader.py,sha256=c7YuDzazVirm9PVmTWaWGfuBH2W0iSVbnYrmdLQ3z4c,19467
|
|
85
|
-
figrecipe/styles/presets/MATPLOTLIB.yaml,sha256=VtkRFd0Sb07TxJ6DR5PC_Ij3rDpoa1_-jdmGNMm01E8,1815
|
|
86
|
-
figrecipe/styles/presets/SCITEX.yaml,sha256=Zkq-LF-b2eV03H8GvEdzpWQqfww3NN0EAS8p7Pqj300,4681
|
|
87
|
-
figrecipe-0.6.0.dist-info/METADATA,sha256=3Px2zWN2LNF0fIxnFaGD_XhbXvI64wHIkONtfRinl0I,11175
|
|
88
|
-
figrecipe-0.6.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
89
|
-
figrecipe-0.6.0.dist-info/licenses/LICENSE,sha256=TfPDBt3ar0uv_f9cqCDMZ5rIzW3CY8anRRd4PkL6ejs,34522
|
|
90
|
-
figrecipe-0.6.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/figrecipe/_dev/demo_plotters/{plot_angle_spectrum.py → spectral_signal/plot_angle_spectrum.py}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
/figrecipe/_dev/demo_plotters/{plot_phase_spectrum.py → spectral_signal/plot_phase_spectrum.py}
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|