scitex 2.7.0__py3-none-any.whl → 2.8.1__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.
- scitex/__init__.py +6 -2
- scitex/__version__.py +1 -1
- scitex/audio/README.md +52 -0
- scitex/audio/__init__.py +384 -0
- scitex/audio/__main__.py +129 -0
- scitex/audio/_tts.py +334 -0
- scitex/audio/engines/__init__.py +44 -0
- scitex/audio/engines/base.py +275 -0
- scitex/audio/engines/elevenlabs_engine.py +143 -0
- scitex/audio/engines/gtts_engine.py +162 -0
- scitex/audio/engines/pyttsx3_engine.py +131 -0
- scitex/audio/mcp_server.py +757 -0
- scitex/bridge/_helpers.py +1 -1
- scitex/bridge/_plt_vis.py +1 -1
- scitex/bridge/_stats_vis.py +1 -1
- scitex/dev/plt/__init__.py +272 -0
- scitex/dev/plt/plot_mpl_axhline.py +28 -0
- scitex/dev/plt/plot_mpl_axhspan.py +28 -0
- scitex/dev/plt/plot_mpl_axvline.py +28 -0
- scitex/dev/plt/plot_mpl_axvspan.py +28 -0
- scitex/dev/plt/plot_mpl_bar.py +29 -0
- scitex/dev/plt/plot_mpl_barh.py +29 -0
- scitex/dev/plt/plot_mpl_boxplot.py +28 -0
- scitex/dev/plt/plot_mpl_contour.py +31 -0
- scitex/dev/plt/plot_mpl_contourf.py +31 -0
- scitex/dev/plt/plot_mpl_errorbar.py +30 -0
- scitex/dev/plt/plot_mpl_eventplot.py +28 -0
- scitex/dev/plt/plot_mpl_fill.py +30 -0
- scitex/dev/plt/plot_mpl_fill_between.py +31 -0
- scitex/dev/plt/plot_mpl_hexbin.py +28 -0
- scitex/dev/plt/plot_mpl_hist.py +28 -0
- scitex/dev/plt/plot_mpl_hist2d.py +28 -0
- scitex/dev/plt/plot_mpl_imshow.py +29 -0
- scitex/dev/plt/plot_mpl_pcolormesh.py +31 -0
- scitex/dev/plt/plot_mpl_pie.py +29 -0
- scitex/dev/plt/plot_mpl_plot.py +29 -0
- scitex/dev/plt/plot_mpl_quiver.py +31 -0
- scitex/dev/plt/plot_mpl_scatter.py +28 -0
- scitex/dev/plt/plot_mpl_stackplot.py +31 -0
- scitex/dev/plt/plot_mpl_stem.py +29 -0
- scitex/dev/plt/plot_mpl_step.py +29 -0
- scitex/dev/plt/plot_mpl_violinplot.py +28 -0
- scitex/dev/plt/plot_sns_barplot.py +29 -0
- scitex/dev/plt/plot_sns_boxplot.py +29 -0
- scitex/dev/plt/plot_sns_heatmap.py +28 -0
- scitex/dev/plt/plot_sns_histplot.py +29 -0
- scitex/dev/plt/plot_sns_kdeplot.py +29 -0
- scitex/dev/plt/plot_sns_lineplot.py +31 -0
- scitex/dev/plt/plot_sns_scatterplot.py +29 -0
- scitex/dev/plt/plot_sns_stripplot.py +29 -0
- scitex/dev/plt/plot_sns_swarmplot.py +29 -0
- scitex/dev/plt/plot_sns_violinplot.py +29 -0
- scitex/dev/plt/plot_stx_bar.py +29 -0
- scitex/dev/plt/plot_stx_barh.py +29 -0
- scitex/dev/plt/plot_stx_box.py +28 -0
- scitex/dev/plt/plot_stx_boxplot.py +28 -0
- scitex/dev/plt/plot_stx_conf_mat.py +28 -0
- scitex/dev/plt/plot_stx_contour.py +31 -0
- scitex/dev/plt/plot_stx_ecdf.py +28 -0
- scitex/dev/plt/plot_stx_errorbar.py +30 -0
- scitex/dev/plt/plot_stx_fill_between.py +31 -0
- scitex/dev/plt/plot_stx_fillv.py +28 -0
- scitex/dev/plt/plot_stx_heatmap.py +28 -0
- scitex/dev/plt/plot_stx_image.py +28 -0
- scitex/dev/plt/plot_stx_imshow.py +28 -0
- scitex/dev/plt/plot_stx_joyplot.py +28 -0
- scitex/dev/plt/plot_stx_kde.py +28 -0
- scitex/dev/plt/plot_stx_line.py +28 -0
- scitex/dev/plt/plot_stx_mean_ci.py +28 -0
- scitex/dev/plt/plot_stx_mean_std.py +28 -0
- scitex/dev/plt/plot_stx_median_iqr.py +28 -0
- scitex/dev/plt/plot_stx_raster.py +28 -0
- scitex/dev/plt/plot_stx_rectangle.py +28 -0
- scitex/dev/plt/plot_stx_scatter.py +29 -0
- scitex/dev/plt/plot_stx_shaded_line.py +29 -0
- scitex/dev/plt/plot_stx_violin.py +28 -0
- scitex/dev/plt/plot_stx_violinplot.py +28 -0
- scitex/diagram/README.md +197 -0
- scitex/diagram/__init__.py +48 -0
- scitex/diagram/_compile.py +312 -0
- scitex/diagram/_diagram.py +355 -0
- scitex/diagram/_presets.py +173 -0
- scitex/diagram/_schema.py +182 -0
- scitex/diagram/_split.py +278 -0
- scitex/fig/__init__.py +352 -0
- scitex/{vis → fig}/backend/_parser.py +1 -1
- scitex/{vis → fig}/canvas.py +1 -1
- scitex/{vis → fig}/editor/__init__.py +5 -2
- scitex/{vis → fig}/editor/_dearpygui_editor.py +1 -1
- scitex/{vis → fig}/editor/_defaults.py +70 -5
- scitex/{vis → fig}/editor/_mpl_editor.py +1 -1
- scitex/{vis → fig}/editor/_qt_editor.py +182 -2
- scitex/{vis → fig}/editor/_tkinter_editor.py +1 -1
- scitex/fig/editor/edit/__init__.py +50 -0
- scitex/fig/editor/edit/backend_detector.py +109 -0
- scitex/fig/editor/edit/bundle_resolver.py +240 -0
- scitex/fig/editor/edit/editor_launcher.py +239 -0
- scitex/fig/editor/edit/manual_handler.py +53 -0
- scitex/fig/editor/edit/panel_loader.py +232 -0
- scitex/fig/editor/edit/path_resolver.py +67 -0
- scitex/fig/editor/flask_editor/_bbox.py +1299 -0
- scitex/fig/editor/flask_editor/_core.py +1429 -0
- scitex/{vis → fig}/editor/flask_editor/_plotter.py +38 -4
- scitex/fig/editor/flask_editor/_renderer.py +813 -0
- scitex/fig/editor/flask_editor/static/css/base/reset.css +41 -0
- scitex/fig/editor/flask_editor/static/css/base/typography.css +16 -0
- scitex/fig/editor/flask_editor/static/css/base/variables.css +85 -0
- scitex/fig/editor/flask_editor/static/css/components/buttons.css +217 -0
- scitex/fig/editor/flask_editor/static/css/components/context-menu.css +93 -0
- scitex/fig/editor/flask_editor/static/css/components/dropdown.css +57 -0
- scitex/fig/editor/flask_editor/static/css/components/forms.css +112 -0
- scitex/fig/editor/flask_editor/static/css/components/modal.css +59 -0
- scitex/fig/editor/flask_editor/static/css/components/sections.css +212 -0
- scitex/fig/editor/flask_editor/static/css/features/canvas.css +176 -0
- scitex/fig/editor/flask_editor/static/css/features/element-inspector.css +190 -0
- scitex/fig/editor/flask_editor/static/css/features/loading.css +59 -0
- scitex/fig/editor/flask_editor/static/css/features/overlay.css +45 -0
- scitex/fig/editor/flask_editor/static/css/features/panel-grid.css +95 -0
- scitex/fig/editor/flask_editor/static/css/features/selection.css +101 -0
- scitex/fig/editor/flask_editor/static/css/features/statistics.css +138 -0
- scitex/fig/editor/flask_editor/static/css/index.css +31 -0
- scitex/fig/editor/flask_editor/static/css/layout/container.css +7 -0
- scitex/fig/editor/flask_editor/static/css/layout/controls.css +56 -0
- scitex/fig/editor/flask_editor/static/css/layout/preview.css +78 -0
- scitex/fig/editor/flask_editor/static/js/alignment/axis.js +314 -0
- scitex/fig/editor/flask_editor/static/js/alignment/basic.js +107 -0
- scitex/fig/editor/flask_editor/static/js/alignment/distribute.js +54 -0
- scitex/fig/editor/flask_editor/static/js/canvas/canvas.js +172 -0
- scitex/fig/editor/flask_editor/static/js/canvas/dragging.js +258 -0
- scitex/fig/editor/flask_editor/static/js/canvas/resize.js +48 -0
- scitex/fig/editor/flask_editor/static/js/canvas/selection.js +71 -0
- scitex/fig/editor/flask_editor/static/js/core/api.js +288 -0
- scitex/fig/editor/flask_editor/static/js/core/state.js +143 -0
- scitex/fig/editor/flask_editor/static/js/core/utils.js +245 -0
- scitex/fig/editor/flask_editor/static/js/dev/element-inspector.js +992 -0
- scitex/fig/editor/flask_editor/static/js/editor/bbox.js +339 -0
- scitex/fig/editor/flask_editor/static/js/editor/element-drag.js +286 -0
- scitex/fig/editor/flask_editor/static/js/editor/overlay.js +371 -0
- scitex/fig/editor/flask_editor/static/js/editor/preview.js +293 -0
- scitex/fig/editor/flask_editor/static/js/main.js +426 -0
- scitex/fig/editor/flask_editor/static/js/shortcuts/context-menu.js +152 -0
- scitex/fig/editor/flask_editor/static/js/shortcuts/keyboard.js +265 -0
- scitex/fig/editor/flask_editor/static/js/ui/controls.js +184 -0
- scitex/fig/editor/flask_editor/static/js/ui/download.js +57 -0
- scitex/fig/editor/flask_editor/static/js/ui/help.js +100 -0
- scitex/fig/editor/flask_editor/static/js/ui/theme.js +34 -0
- scitex/fig/editor/flask_editor/templates/__init__.py +123 -0
- scitex/fig/editor/flask_editor/templates/_html.py +852 -0
- scitex/fig/editor/flask_editor/templates/_scripts.py +4933 -0
- scitex/fig/editor/flask_editor/templates/_styles.py +1658 -0
- scitex/{vis → fig}/io/__init__.py +13 -1
- scitex/fig/io/_bundle.py +1058 -0
- scitex/{vis → fig}/io/_canvas.py +1 -1
- scitex/{vis → fig}/io/_data.py +1 -1
- scitex/{vis → fig}/io/_export.py +1 -1
- scitex/{vis → fig}/io/_load.py +1 -1
- scitex/{vis → fig}/io/_panel.py +1 -1
- scitex/{vis → fig}/io/_save.py +1 -1
- scitex/{vis → fig}/model/__init__.py +1 -1
- scitex/{vis → fig}/model/_annotations.py +1 -1
- scitex/{vis → fig}/model/_axes.py +1 -1
- scitex/{vis → fig}/model/_figure.py +1 -1
- scitex/{vis → fig}/model/_guides.py +1 -1
- scitex/{vis → fig}/model/_plot.py +1 -1
- scitex/{vis → fig}/model/_styles.py +1 -1
- scitex/{vis → fig}/utils/__init__.py +1 -1
- scitex/io/__init__.py +22 -26
- scitex/io/_bundle.py +493 -0
- scitex/io/_flush.py +5 -2
- scitex/io/_load.py +98 -0
- scitex/io/_load_modules/_H5Explorer.py +5 -2
- scitex/io/_load_modules/_canvas.py +2 -2
- scitex/io/_load_modules/_image.py +3 -4
- scitex/io/_load_modules/_txt.py +4 -2
- scitex/io/_metadata.py +34 -324
- scitex/io/_metadata_modules/__init__.py +46 -0
- scitex/io/_metadata_modules/_embed.py +70 -0
- scitex/io/_metadata_modules/_read.py +64 -0
- scitex/io/_metadata_modules/_utils.py +79 -0
- scitex/io/_metadata_modules/embed_metadata_jpeg.py +74 -0
- scitex/io/_metadata_modules/embed_metadata_pdf.py +53 -0
- scitex/io/_metadata_modules/embed_metadata_png.py +26 -0
- scitex/io/_metadata_modules/embed_metadata_svg.py +62 -0
- scitex/io/_metadata_modules/read_metadata_jpeg.py +57 -0
- scitex/io/_metadata_modules/read_metadata_pdf.py +51 -0
- scitex/io/_metadata_modules/read_metadata_png.py +39 -0
- scitex/io/_metadata_modules/read_metadata_svg.py +44 -0
- scitex/io/_qr_utils.py +5 -3
- scitex/io/_save.py +548 -30
- scitex/io/_save_modules/_canvas.py +3 -3
- scitex/io/_save_modules/_image.py +5 -9
- scitex/io/_save_modules/_tex.py +7 -4
- scitex/io/_zip_bundle.py +439 -0
- scitex/io/utils/h5_to_zarr.py +11 -9
- scitex/msword/__init__.py +255 -0
- scitex/msword/profiles.py +357 -0
- scitex/msword/reader.py +753 -0
- scitex/msword/utils.py +289 -0
- scitex/msword/writer.py +362 -0
- scitex/plt/__init__.py +5 -2
- scitex/plt/_subplots/_AxesWrapper.py +6 -6
- scitex/plt/_subplots/_AxisWrapper.py +15 -9
- scitex/plt/_subplots/_AxisWrapperMixins/_AdjustmentMixin/__init__.py +36 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_AdjustmentMixin/_labels.py +264 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_AdjustmentMixin/_metadata.py +213 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_AdjustmentMixin/_visual.py +128 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/__init__.py +59 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/_base.py +34 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/_scientific.py +593 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/_statistical.py +654 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin/_stx_aliases.py +527 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_RawMatplotlibMixin.py +321 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin/__init__.py +33 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin/_base.py +152 -0
- scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin/_wrappers.py +600 -0
- scitex/plt/_subplots/_AxisWrapperMixins/__init__.py +79 -5
- scitex/plt/_subplots/_FigWrapper.py +6 -6
- scitex/plt/_subplots/_SubplotsWrapper.py +28 -18
- scitex/plt/_subplots/_export_as_csv.py +35 -5
- scitex/plt/_subplots/_export_as_csv_formatters/__init__.py +8 -0
- scitex/plt/_subplots/_export_as_csv_formatters/_format_annotate.py +10 -21
- scitex/plt/_subplots/_export_as_csv_formatters/_format_eventplot.py +18 -7
- scitex/plt/_subplots/_export_as_csv_formatters/_format_imshow2d.py +28 -12
- scitex/plt/_subplots/_export_as_csv_formatters/_format_matshow.py +10 -4
- scitex/plt/_subplots/_export_as_csv_formatters/_format_plot_imshow.py +13 -1
- scitex/plt/_subplots/_export_as_csv_formatters/_format_plot_kde.py +12 -2
- scitex/plt/_subplots/_export_as_csv_formatters/_format_plot_scatter.py +10 -3
- scitex/plt/_subplots/_export_as_csv_formatters/_format_quiver.py +10 -4
- scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_jointplot.py +18 -3
- scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_lineplot.py +44 -36
- scitex/plt/_subplots/_export_as_csv_formatters/_format_sns_pairplot.py +14 -2
- scitex/plt/_subplots/_export_as_csv_formatters/_format_streamplot.py +11 -5
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_bar.py +84 -0
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_barh.py +85 -0
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_conf_mat.py +14 -3
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_contour.py +54 -0
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_ecdf.py +14 -2
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_errorbar.py +120 -0
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_heatmap.py +16 -6
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_image.py +29 -19
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_imshow.py +63 -0
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_joyplot.py +22 -5
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_mean_ci.py +18 -14
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_mean_std.py +18 -14
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_median_iqr.py +18 -14
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_raster.py +10 -2
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_scatter.py +51 -0
- scitex/plt/_subplots/_export_as_csv_formatters/_format_stx_scatter_hist.py +18 -9
- scitex/plt/ax/_plot/_stx_ecdf.py +4 -2
- scitex/plt/gallery/_generate.py +421 -14
- scitex/plt/io/__init__.py +53 -0
- scitex/plt/io/_bundle.py +490 -0
- scitex/plt/io/_layered_bundle.py +1343 -0
- scitex/plt/styles/SCITEX_STYLE.yaml +26 -0
- scitex/plt/styles/__init__.py +14 -0
- scitex/plt/styles/presets.py +78 -0
- scitex/plt/utils/__init__.py +13 -1
- scitex/plt/utils/_collect_figure_metadata.py +10 -14
- scitex/plt/utils/_configure_mpl.py +6 -18
- scitex/plt/utils/_crop.py +32 -14
- scitex/plt/utils/_csv_column_naming.py +54 -0
- scitex/plt/utils/_figure_mm.py +116 -1
- scitex/plt/utils/_hitmap.py +1643 -0
- scitex/plt/utils/metadata/__init__.py +25 -0
- scitex/plt/utils/metadata/_core.py +9 -10
- scitex/plt/utils/metadata/_dimensions.py +6 -3
- scitex/plt/utils/metadata/_editable_export.py +405 -0
- scitex/plt/utils/metadata/_geometry_extraction.py +570 -0
- scitex/schema/__init__.py +109 -16
- scitex/schema/_canvas.py +1 -1
- scitex/schema/_plot.py +1015 -0
- scitex/schema/_stats.py +2 -2
- scitex/stats/__init__.py +117 -0
- scitex/stats/io/__init__.py +29 -0
- scitex/stats/io/_bundle.py +156 -0
- scitex/tex/__init__.py +4 -0
- scitex/tex/_export.py +890 -0
- {scitex-2.7.0.dist-info → scitex-2.8.1.dist-info}/METADATA +11 -1
- {scitex-2.7.0.dist-info → scitex-2.8.1.dist-info}/RECORD +294 -170
- scitex/io/memo.md +0 -2827
- scitex/plt/REQUESTS.md +0 -191
- scitex/plt/_subplots/TODO.md +0 -53
- scitex/plt/_subplots/_AxisWrapperMixins/_AdjustmentMixin.py +0 -559
- scitex/plt/_subplots/_AxisWrapperMixins/_MatplotlibPlotMixin.py +0 -1609
- scitex/plt/_subplots/_AxisWrapperMixins/_SeabornMixin.py +0 -447
- scitex/plt/templates/research-master/scitex/vis/gallery/area/fill_between.json +0 -110
- scitex/plt/templates/research-master/scitex/vis/gallery/area/fill_betweenx.json +0 -88
- scitex/plt/templates/research-master/scitex/vis/gallery/area/stx_fill_between.json +0 -103
- scitex/plt/templates/research-master/scitex/vis/gallery/area/stx_fillv.json +0 -106
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/bar.json +0 -92
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/barh.json +0 -92
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/boxplot.json +0 -92
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/stx_bar.json +0 -84
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/stx_barh.json +0 -84
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/stx_box.json +0 -83
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/stx_boxplot.json +0 -93
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/stx_violin.json +0 -91
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/stx_violinplot.json +0 -91
- scitex/plt/templates/research-master/scitex/vis/gallery/categorical/violinplot.json +0 -91
- scitex/plt/templates/research-master/scitex/vis/gallery/contour/contour.json +0 -97
- scitex/plt/templates/research-master/scitex/vis/gallery/contour/contourf.json +0 -98
- scitex/plt/templates/research-master/scitex/vis/gallery/contour/stx_contour.json +0 -84
- scitex/plt/templates/research-master/scitex/vis/gallery/distribution/hist.json +0 -101
- scitex/plt/templates/research-master/scitex/vis/gallery/distribution/hist2d.json +0 -96
- scitex/plt/templates/research-master/scitex/vis/gallery/distribution/stx_ecdf.json +0 -95
- scitex/plt/templates/research-master/scitex/vis/gallery/distribution/stx_joyplot.json +0 -95
- scitex/plt/templates/research-master/scitex/vis/gallery/distribution/stx_kde.json +0 -93
- scitex/plt/templates/research-master/scitex/vis/gallery/grid/imshow.json +0 -95
- scitex/plt/templates/research-master/scitex/vis/gallery/grid/matshow.json +0 -95
- scitex/plt/templates/research-master/scitex/vis/gallery/grid/stx_conf_mat.json +0 -83
- scitex/plt/templates/research-master/scitex/vis/gallery/grid/stx_heatmap.json +0 -92
- scitex/plt/templates/research-master/scitex/vis/gallery/grid/stx_image.json +0 -121
- scitex/plt/templates/research-master/scitex/vis/gallery/grid/stx_imshow.json +0 -84
- scitex/plt/templates/research-master/scitex/vis/gallery/line/plot.json +0 -110
- scitex/plt/templates/research-master/scitex/vis/gallery/line/step.json +0 -92
- scitex/plt/templates/research-master/scitex/vis/gallery/line/stx_line.json +0 -95
- scitex/plt/templates/research-master/scitex/vis/gallery/line/stx_shaded_line.json +0 -96
- scitex/plt/templates/research-master/scitex/vis/gallery/scatter/hexbin.json +0 -95
- scitex/plt/templates/research-master/scitex/vis/gallery/scatter/scatter.json +0 -95
- scitex/plt/templates/research-master/scitex/vis/gallery/scatter/stem.json +0 -92
- scitex/plt/templates/research-master/scitex/vis/gallery/scatter/stx_scatter.json +0 -84
- scitex/plt/templates/research-master/scitex/vis/gallery/special/pie.json +0 -94
- scitex/plt/templates/research-master/scitex/vis/gallery/special/stx_raster.json +0 -109
- scitex/plt/templates/research-master/scitex/vis/gallery/special/stx_rectangle.json +0 -108
- scitex/plt/templates/research-master/scitex/vis/gallery/statistical/errorbar.json +0 -93
- scitex/plt/templates/research-master/scitex/vis/gallery/statistical/stx_errorbar.json +0 -84
- scitex/plt/templates/research-master/scitex/vis/gallery/statistical/stx_mean_ci.json +0 -96
- scitex/plt/templates/research-master/scitex/vis/gallery/statistical/stx_mean_std.json +0 -96
- scitex/plt/templates/research-master/scitex/vis/gallery/statistical/stx_median_iqr.json +0 -96
- scitex/plt/templates/research-master/scitex/vis/gallery/vector/quiver.json +0 -99
- scitex/plt/templates/research-master/scitex/vis/gallery/vector/streamplot.json +0 -100
- scitex/vis/__init__.py +0 -177
- scitex/vis/editor/_edit.py +0 -390
- scitex/vis/editor/flask_editor/_bbox.py +0 -529
- scitex/vis/editor/flask_editor/_core.py +0 -168
- scitex/vis/editor/flask_editor/_renderer.py +0 -393
- scitex/vis/editor/flask_editor/templates/__init__.py +0 -33
- scitex/vis/editor/flask_editor/templates/_html.py +0 -513
- scitex/vis/editor/flask_editor/templates/_scripts.py +0 -1261
- scitex/vis/editor/flask_editor/templates/_styles.py +0 -739
- /scitex/{vis → fig}/README.md +0 -0
- /scitex/{vis → fig}/backend/__init__.py +0 -0
- /scitex/{vis → fig}/backend/_export.py +0 -0
- /scitex/{vis → fig}/backend/_render.py +0 -0
- /scitex/{vis → fig}/docs/CANVAS_ARCHITECTURE.md +0 -0
- /scitex/{vis → fig}/editor/_flask_editor.py +0 -0
- /scitex/{vis → fig}/editor/flask_editor/__init__.py +0 -0
- /scitex/{vis → fig}/editor/flask_editor/_utils.py +0 -0
- /scitex/{vis → fig}/io/_directory.py +0 -0
- /scitex/{vis → fig}/model/_plot_types.py +0 -0
- /scitex/{vis → fig}/utils/_defaults.py +0 -0
- /scitex/{vis → fig}/utils/_validate.py +0 -0
- {scitex-2.7.0.dist-info → scitex-2.8.1.dist-info}/WHEEL +0 -0
- {scitex-2.7.0.dist-info → scitex-2.8.1.dist-info}/entry_points.txt +0 -0
- {scitex-2.7.0.dist-info → scitex-2.8.1.dist-info}/licenses/LICENSE +0 -0
|
@@ -0,0 +1,527 @@
|
|
|
1
|
+
#!/usr/bin/env python3
|
|
2
|
+
# -*- coding: utf-8 -*-
|
|
3
|
+
# Timestamp: "2025-12-13 (ywatanabe)"
|
|
4
|
+
# File: _stx_aliases.py - stx_ aliases for standard matplotlib methods
|
|
5
|
+
|
|
6
|
+
"""stx_ prefixed aliases for standard matplotlib methods with tracking support."""
|
|
7
|
+
|
|
8
|
+
import os
|
|
9
|
+
from typing import List, Optional, Sequence, Union
|
|
10
|
+
|
|
11
|
+
import numpy as np
|
|
12
|
+
import pandas as pd
|
|
13
|
+
from matplotlib.container import BarContainer
|
|
14
|
+
from matplotlib.collections import PathCollection
|
|
15
|
+
from matplotlib.contour import QuadContourSet
|
|
16
|
+
from matplotlib.image import AxesImage
|
|
17
|
+
|
|
18
|
+
from scitex.types import ArrayLike
|
|
19
|
+
|
|
20
|
+
__FILE__ = __file__
|
|
21
|
+
__DIR__ = os.path.dirname(__FILE__)
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
class StxAliasesMixin:
|
|
25
|
+
"""Mixin providing stx_ aliases for standard matplotlib methods.
|
|
26
|
+
|
|
27
|
+
These methods wrap standard matplotlib plotting functions with:
|
|
28
|
+
- SciTeX styling applied automatically
|
|
29
|
+
- Data tracking for reproducibility
|
|
30
|
+
- Sample size annotations in labels
|
|
31
|
+
"""
|
|
32
|
+
|
|
33
|
+
def stx_bar(
|
|
34
|
+
self,
|
|
35
|
+
x: ArrayLike,
|
|
36
|
+
height: ArrayLike,
|
|
37
|
+
*,
|
|
38
|
+
track: bool = True,
|
|
39
|
+
id: Optional[str] = None,
|
|
40
|
+
**kwargs,
|
|
41
|
+
) -> BarContainer:
|
|
42
|
+
"""Create a bar plot with SciTeX styling and tracking.
|
|
43
|
+
|
|
44
|
+
Parameters
|
|
45
|
+
----------
|
|
46
|
+
x : array-like
|
|
47
|
+
X coordinates of the bars.
|
|
48
|
+
height : array-like
|
|
49
|
+
Heights of the bars.
|
|
50
|
+
track : bool, default True
|
|
51
|
+
Enable data tracking for reproducibility.
|
|
52
|
+
id : str, optional
|
|
53
|
+
Unique identifier for this plot element.
|
|
54
|
+
**kwargs
|
|
55
|
+
Additional arguments passed to `matplotlib.axes.Axes.bar`.
|
|
56
|
+
|
|
57
|
+
Returns
|
|
58
|
+
-------
|
|
59
|
+
BarContainer
|
|
60
|
+
Container with all the bars.
|
|
61
|
+
|
|
62
|
+
See Also
|
|
63
|
+
--------
|
|
64
|
+
stx_barh : Horizontal bar plot.
|
|
65
|
+
mpl_bar : Raw matplotlib bar without styling.
|
|
66
|
+
|
|
67
|
+
Examples
|
|
68
|
+
--------
|
|
69
|
+
>>> ax.stx_bar([1, 2, 3], [4, 5, 6])
|
|
70
|
+
>>> ax.stx_bar(x, height, label="Group A", color="blue")
|
|
71
|
+
"""
|
|
72
|
+
method_name = "stx_bar"
|
|
73
|
+
|
|
74
|
+
if kwargs.get("label"):
|
|
75
|
+
n_samples = len(x)
|
|
76
|
+
kwargs["label"] = f"{kwargs['label']} ($n$={n_samples})"
|
|
77
|
+
|
|
78
|
+
with self._no_tracking():
|
|
79
|
+
result = self._axis_mpl.bar(x, height, **kwargs)
|
|
80
|
+
|
|
81
|
+
tracked_dict = {"bar_df": pd.DataFrame({"x": x, "height": height})}
|
|
82
|
+
self._track(track, id, method_name, tracked_dict, None)
|
|
83
|
+
|
|
84
|
+
from scitex.plt.ax import style_barplot
|
|
85
|
+
|
|
86
|
+
style_barplot(result)
|
|
87
|
+
|
|
88
|
+
self._apply_scitex_postprocess(method_name, result)
|
|
89
|
+
|
|
90
|
+
return result
|
|
91
|
+
|
|
92
|
+
def stx_barh(
|
|
93
|
+
self,
|
|
94
|
+
y: ArrayLike,
|
|
95
|
+
width: ArrayLike,
|
|
96
|
+
*,
|
|
97
|
+
track: bool = True,
|
|
98
|
+
id: Optional[str] = None,
|
|
99
|
+
**kwargs,
|
|
100
|
+
) -> BarContainer:
|
|
101
|
+
"""Create a horizontal bar plot with SciTeX styling and tracking.
|
|
102
|
+
|
|
103
|
+
Parameters
|
|
104
|
+
----------
|
|
105
|
+
y : array-like
|
|
106
|
+
Y coordinates of the bars.
|
|
107
|
+
width : array-like
|
|
108
|
+
Widths of the bars.
|
|
109
|
+
track : bool, default True
|
|
110
|
+
Enable data tracking for reproducibility.
|
|
111
|
+
id : str, optional
|
|
112
|
+
Unique identifier for this plot element.
|
|
113
|
+
**kwargs
|
|
114
|
+
Additional arguments passed to `matplotlib.axes.Axes.barh`.
|
|
115
|
+
|
|
116
|
+
Returns
|
|
117
|
+
-------
|
|
118
|
+
BarContainer
|
|
119
|
+
Container with all the bars.
|
|
120
|
+
|
|
121
|
+
See Also
|
|
122
|
+
--------
|
|
123
|
+
stx_bar : Vertical bar plot.
|
|
124
|
+
mpl_barh : Raw matplotlib barh without styling.
|
|
125
|
+
|
|
126
|
+
Examples
|
|
127
|
+
--------
|
|
128
|
+
>>> ax.stx_barh([1, 2, 3], [4, 5, 6])
|
|
129
|
+
"""
|
|
130
|
+
method_name = "stx_barh"
|
|
131
|
+
|
|
132
|
+
if kwargs.get("label"):
|
|
133
|
+
n_samples = len(y)
|
|
134
|
+
kwargs["label"] = f"{kwargs['label']} ($n$={n_samples})"
|
|
135
|
+
|
|
136
|
+
with self._no_tracking():
|
|
137
|
+
result = self._axis_mpl.barh(y, width, **kwargs)
|
|
138
|
+
|
|
139
|
+
tracked_dict = {"barh_df": pd.DataFrame({"y": y, "width": width})}
|
|
140
|
+
self._track(track, id, method_name, tracked_dict, None)
|
|
141
|
+
self._apply_scitex_postprocess(method_name, result)
|
|
142
|
+
|
|
143
|
+
return result
|
|
144
|
+
|
|
145
|
+
def stx_scatter(
|
|
146
|
+
self,
|
|
147
|
+
x: ArrayLike,
|
|
148
|
+
y: ArrayLike,
|
|
149
|
+
*,
|
|
150
|
+
track: bool = True,
|
|
151
|
+
id: Optional[str] = None,
|
|
152
|
+
**kwargs,
|
|
153
|
+
) -> PathCollection:
|
|
154
|
+
"""Create a scatter plot with SciTeX styling and tracking.
|
|
155
|
+
|
|
156
|
+
Parameters
|
|
157
|
+
----------
|
|
158
|
+
x : array-like
|
|
159
|
+
X coordinates of the data points.
|
|
160
|
+
y : array-like
|
|
161
|
+
Y coordinates of the data points.
|
|
162
|
+
track : bool, default True
|
|
163
|
+
Enable data tracking for reproducibility.
|
|
164
|
+
id : str, optional
|
|
165
|
+
Unique identifier for this plot element.
|
|
166
|
+
**kwargs
|
|
167
|
+
Additional arguments passed to `matplotlib.axes.Axes.scatter`.
|
|
168
|
+
|
|
169
|
+
Returns
|
|
170
|
+
-------
|
|
171
|
+
PathCollection
|
|
172
|
+
Collection of scatter points.
|
|
173
|
+
|
|
174
|
+
See Also
|
|
175
|
+
--------
|
|
176
|
+
sns_scatterplot : DataFrame-based scatter plot.
|
|
177
|
+
mpl_scatter : Raw matplotlib scatter without styling.
|
|
178
|
+
|
|
179
|
+
Examples
|
|
180
|
+
--------
|
|
181
|
+
>>> ax.stx_scatter(x, y, label="Data", s=50)
|
|
182
|
+
"""
|
|
183
|
+
method_name = "stx_scatter"
|
|
184
|
+
|
|
185
|
+
if kwargs.get("label"):
|
|
186
|
+
n_samples = len(x)
|
|
187
|
+
kwargs["label"] = f"{kwargs['label']} ($n$={n_samples})"
|
|
188
|
+
|
|
189
|
+
with self._no_tracking():
|
|
190
|
+
result = self._axis_mpl.scatter(x, y, **kwargs)
|
|
191
|
+
|
|
192
|
+
tracked_dict = {"scatter_df": pd.DataFrame({"x": x, "y": y})}
|
|
193
|
+
self._track(track, id, method_name, tracked_dict, None)
|
|
194
|
+
|
|
195
|
+
from scitex.plt.ax import style_scatter
|
|
196
|
+
|
|
197
|
+
style_scatter(result)
|
|
198
|
+
|
|
199
|
+
self._apply_scitex_postprocess(method_name, result)
|
|
200
|
+
|
|
201
|
+
return result
|
|
202
|
+
|
|
203
|
+
def stx_errorbar(
|
|
204
|
+
self,
|
|
205
|
+
x: ArrayLike,
|
|
206
|
+
y: ArrayLike,
|
|
207
|
+
*,
|
|
208
|
+
yerr: Optional[ArrayLike] = None,
|
|
209
|
+
xerr: Optional[ArrayLike] = None,
|
|
210
|
+
track: bool = True,
|
|
211
|
+
id: Optional[str] = None,
|
|
212
|
+
**kwargs,
|
|
213
|
+
):
|
|
214
|
+
"""Create an error bar plot with SciTeX styling and tracking.
|
|
215
|
+
|
|
216
|
+
Parameters
|
|
217
|
+
----------
|
|
218
|
+
x : array-like
|
|
219
|
+
X coordinates of the data points.
|
|
220
|
+
y : array-like
|
|
221
|
+
Y coordinates of the data points.
|
|
222
|
+
yerr : array-like, optional
|
|
223
|
+
Error values for y-axis (symmetric or asymmetric).
|
|
224
|
+
xerr : array-like, optional
|
|
225
|
+
Error values for x-axis (symmetric or asymmetric).
|
|
226
|
+
track : bool, default True
|
|
227
|
+
Enable data tracking for reproducibility.
|
|
228
|
+
id : str, optional
|
|
229
|
+
Unique identifier for this plot element.
|
|
230
|
+
**kwargs
|
|
231
|
+
Additional arguments passed to `matplotlib.axes.Axes.errorbar`.
|
|
232
|
+
|
|
233
|
+
Returns
|
|
234
|
+
-------
|
|
235
|
+
ErrorbarContainer
|
|
236
|
+
Container with the plotted errorbar lines.
|
|
237
|
+
|
|
238
|
+
See Also
|
|
239
|
+
--------
|
|
240
|
+
stx_mean_std : Mean line with standard deviation shading.
|
|
241
|
+
stx_mean_ci : Mean line with confidence interval shading.
|
|
242
|
+
|
|
243
|
+
Examples
|
|
244
|
+
--------
|
|
245
|
+
>>> ax.stx_errorbar(x, y, yerr=std, fmt='o-')
|
|
246
|
+
"""
|
|
247
|
+
method_name = "stx_errorbar"
|
|
248
|
+
|
|
249
|
+
if kwargs.get("label"):
|
|
250
|
+
n_samples = len(x)
|
|
251
|
+
kwargs["label"] = f"{kwargs['label']} ($n$={n_samples})"
|
|
252
|
+
|
|
253
|
+
with self._no_tracking():
|
|
254
|
+
result = self._axis_mpl.errorbar(x, y, yerr=yerr, xerr=xerr, **kwargs)
|
|
255
|
+
|
|
256
|
+
df_dict = {"x": x, "y": y}
|
|
257
|
+
if yerr is not None:
|
|
258
|
+
df_dict["yerr"] = yerr
|
|
259
|
+
if xerr is not None:
|
|
260
|
+
df_dict["xerr"] = xerr
|
|
261
|
+
tracked_dict = {"errorbar_df": pd.DataFrame(df_dict)}
|
|
262
|
+
self._track(track, id, method_name, tracked_dict, None)
|
|
263
|
+
|
|
264
|
+
from scitex.plt.ax import style_errorbar
|
|
265
|
+
|
|
266
|
+
style_errorbar(result)
|
|
267
|
+
|
|
268
|
+
self._apply_scitex_postprocess(method_name, result)
|
|
269
|
+
|
|
270
|
+
return result
|
|
271
|
+
|
|
272
|
+
def stx_fill_between(
|
|
273
|
+
self,
|
|
274
|
+
x: ArrayLike,
|
|
275
|
+
y1: ArrayLike,
|
|
276
|
+
y2: Union[float, ArrayLike] = 0,
|
|
277
|
+
*,
|
|
278
|
+
track: bool = True,
|
|
279
|
+
id: Optional[str] = None,
|
|
280
|
+
**kwargs,
|
|
281
|
+
):
|
|
282
|
+
"""Fill the area between two curves with SciTeX styling and tracking.
|
|
283
|
+
|
|
284
|
+
Parameters
|
|
285
|
+
----------
|
|
286
|
+
x : array-like
|
|
287
|
+
X coordinates for the fill region.
|
|
288
|
+
y1 : array-like
|
|
289
|
+
First y-boundary curve.
|
|
290
|
+
y2 : float or array-like, default 0
|
|
291
|
+
Second y-boundary curve.
|
|
292
|
+
track : bool, default True
|
|
293
|
+
Enable data tracking for reproducibility.
|
|
294
|
+
id : str, optional
|
|
295
|
+
Unique identifier for this plot element.
|
|
296
|
+
**kwargs
|
|
297
|
+
Additional arguments passed to `matplotlib.axes.Axes.fill_between`.
|
|
298
|
+
|
|
299
|
+
Returns
|
|
300
|
+
-------
|
|
301
|
+
PolyCollection
|
|
302
|
+
Collection representing the filled area.
|
|
303
|
+
|
|
304
|
+
See Also
|
|
305
|
+
--------
|
|
306
|
+
stx_shaded_line : Line plot with shaded confidence region.
|
|
307
|
+
|
|
308
|
+
Examples
|
|
309
|
+
--------
|
|
310
|
+
>>> ax.stx_fill_between(x, y_lower, y_upper, alpha=0.3)
|
|
311
|
+
"""
|
|
312
|
+
method_name = "stx_fill_between"
|
|
313
|
+
|
|
314
|
+
with self._no_tracking():
|
|
315
|
+
result = self._axis_mpl.fill_between(x, y1, y2, **kwargs)
|
|
316
|
+
|
|
317
|
+
tracked_dict = {
|
|
318
|
+
"fill_between_df": pd.DataFrame(
|
|
319
|
+
{
|
|
320
|
+
"x": x,
|
|
321
|
+
"y1": y1,
|
|
322
|
+
"y2": y2 if hasattr(y2, "__len__") else [y2] * len(x),
|
|
323
|
+
}
|
|
324
|
+
)
|
|
325
|
+
}
|
|
326
|
+
self._track(track, id, method_name, tracked_dict, None)
|
|
327
|
+
self._apply_scitex_postprocess(method_name, result)
|
|
328
|
+
|
|
329
|
+
return result
|
|
330
|
+
|
|
331
|
+
def stx_contour(
|
|
332
|
+
self,
|
|
333
|
+
X: ArrayLike,
|
|
334
|
+
Y: ArrayLike,
|
|
335
|
+
Z: ArrayLike,
|
|
336
|
+
*,
|
|
337
|
+
track: bool = True,
|
|
338
|
+
id: Optional[str] = None,
|
|
339
|
+
**kwargs,
|
|
340
|
+
) -> QuadContourSet:
|
|
341
|
+
"""Create a contour plot with SciTeX styling and tracking.
|
|
342
|
+
|
|
343
|
+
Parameters
|
|
344
|
+
----------
|
|
345
|
+
X : array-like
|
|
346
|
+
X coordinates of the grid (2D array or 1D for meshgrid).
|
|
347
|
+
Y : array-like
|
|
348
|
+
Y coordinates of the grid (2D array or 1D for meshgrid).
|
|
349
|
+
Z : array-like
|
|
350
|
+
Values at each grid point (2D array).
|
|
351
|
+
track : bool, default True
|
|
352
|
+
Enable data tracking for reproducibility.
|
|
353
|
+
id : str, optional
|
|
354
|
+
Unique identifier for this plot element.
|
|
355
|
+
**kwargs
|
|
356
|
+
Additional arguments passed to `matplotlib.axes.Axes.contour`.
|
|
357
|
+
|
|
358
|
+
Returns
|
|
359
|
+
-------
|
|
360
|
+
QuadContourSet
|
|
361
|
+
The contour set object.
|
|
362
|
+
|
|
363
|
+
See Also
|
|
364
|
+
--------
|
|
365
|
+
stx_imshow : Display data as an image.
|
|
366
|
+
mpl_contour : Raw matplotlib contour without styling.
|
|
367
|
+
|
|
368
|
+
Examples
|
|
369
|
+
--------
|
|
370
|
+
>>> ax.stx_contour(X, Y, Z, levels=10)
|
|
371
|
+
"""
|
|
372
|
+
method_name = "stx_contour"
|
|
373
|
+
|
|
374
|
+
with self._no_tracking():
|
|
375
|
+
result = self._axis_mpl.contour(X, Y, Z, **kwargs)
|
|
376
|
+
|
|
377
|
+
tracked_dict = {
|
|
378
|
+
"contour_df": pd.DataFrame(
|
|
379
|
+
{"X": np.ravel(X), "Y": np.ravel(Y), "Z": np.ravel(Z)}
|
|
380
|
+
)
|
|
381
|
+
}
|
|
382
|
+
self._track(track, id, method_name, tracked_dict, None)
|
|
383
|
+
|
|
384
|
+
self._apply_scitex_postprocess(method_name, result)
|
|
385
|
+
|
|
386
|
+
return result
|
|
387
|
+
|
|
388
|
+
def stx_imshow(
|
|
389
|
+
self,
|
|
390
|
+
data: ArrayLike,
|
|
391
|
+
*,
|
|
392
|
+
track: bool = True,
|
|
393
|
+
id: Optional[str] = None,
|
|
394
|
+
**kwargs,
|
|
395
|
+
) -> AxesImage:
|
|
396
|
+
"""Display data as an image with SciTeX styling and tracking.
|
|
397
|
+
|
|
398
|
+
Parameters
|
|
399
|
+
----------
|
|
400
|
+
data : array-like
|
|
401
|
+
Image data (2D or 3D array for RGB/RGBA).
|
|
402
|
+
track : bool, default True
|
|
403
|
+
Enable data tracking for reproducibility.
|
|
404
|
+
id : str, optional
|
|
405
|
+
Unique identifier for this plot element.
|
|
406
|
+
**kwargs
|
|
407
|
+
Additional arguments passed to `matplotlib.axes.Axes.imshow`.
|
|
408
|
+
|
|
409
|
+
Returns
|
|
410
|
+
-------
|
|
411
|
+
AxesImage
|
|
412
|
+
The image object.
|
|
413
|
+
|
|
414
|
+
See Also
|
|
415
|
+
--------
|
|
416
|
+
stx_image : Scientific image display with colorbar.
|
|
417
|
+
mpl_imshow : Raw matplotlib imshow without styling.
|
|
418
|
+
|
|
419
|
+
Examples
|
|
420
|
+
--------
|
|
421
|
+
>>> ax.stx_imshow(image_array, cmap='viridis')
|
|
422
|
+
"""
|
|
423
|
+
method_name = "stx_imshow"
|
|
424
|
+
|
|
425
|
+
with self._no_tracking():
|
|
426
|
+
result = self._axis_mpl.imshow(data, **kwargs)
|
|
427
|
+
|
|
428
|
+
if hasattr(data, "shape") and len(data.shape) == 2:
|
|
429
|
+
n_rows, n_cols = data.shape
|
|
430
|
+
df = pd.DataFrame(data, columns=[f"col_{i}" for i in range(n_cols)])
|
|
431
|
+
else:
|
|
432
|
+
df = pd.DataFrame(data)
|
|
433
|
+
tracked_dict = {"imshow_df": df}
|
|
434
|
+
self._track(track, id, method_name, tracked_dict, None)
|
|
435
|
+
|
|
436
|
+
self._apply_scitex_postprocess(method_name, result)
|
|
437
|
+
|
|
438
|
+
return result
|
|
439
|
+
|
|
440
|
+
def stx_boxplot(
|
|
441
|
+
self,
|
|
442
|
+
data: Union[ArrayLike, Sequence[ArrayLike]],
|
|
443
|
+
*,
|
|
444
|
+
colors: Optional[List[str]] = None,
|
|
445
|
+
track: bool = True,
|
|
446
|
+
id: Optional[str] = None,
|
|
447
|
+
**kwargs,
|
|
448
|
+
) -> dict:
|
|
449
|
+
"""Create a boxplot with SciTeX styling and tracking.
|
|
450
|
+
|
|
451
|
+
This is an alias for :meth:`stx_box`.
|
|
452
|
+
|
|
453
|
+
Parameters
|
|
454
|
+
----------
|
|
455
|
+
data : array-like or sequence of array-like
|
|
456
|
+
Data for the boxplot. Can be a single array or list of arrays.
|
|
457
|
+
colors : list of str, optional
|
|
458
|
+
Colors for each box.
|
|
459
|
+
track : bool, default True
|
|
460
|
+
Enable data tracking for reproducibility.
|
|
461
|
+
id : str, optional
|
|
462
|
+
Unique identifier for this plot element.
|
|
463
|
+
**kwargs
|
|
464
|
+
Additional arguments passed to `matplotlib.axes.Axes.boxplot`.
|
|
465
|
+
|
|
466
|
+
Returns
|
|
467
|
+
-------
|
|
468
|
+
dict
|
|
469
|
+
Dictionary mapping component names to artists.
|
|
470
|
+
|
|
471
|
+
See Also
|
|
472
|
+
--------
|
|
473
|
+
stx_box : Primary boxplot method.
|
|
474
|
+
sns_boxplot : DataFrame-based boxplot.
|
|
475
|
+
stx_violin : Violin plot alternative.
|
|
476
|
+
|
|
477
|
+
Examples
|
|
478
|
+
--------
|
|
479
|
+
>>> ax.stx_boxplot([data1, data2, data3], labels=['A', 'B', 'C'])
|
|
480
|
+
"""
|
|
481
|
+
return self.stx_box(data, colors=colors, track=track, id=id, **kwargs)
|
|
482
|
+
|
|
483
|
+
def stx_violinplot(
|
|
484
|
+
self,
|
|
485
|
+
data: Union[ArrayLike, Sequence[ArrayLike]],
|
|
486
|
+
*,
|
|
487
|
+
colors: Optional[List[str]] = None,
|
|
488
|
+
track: bool = True,
|
|
489
|
+
id: Optional[str] = None,
|
|
490
|
+
**kwargs,
|
|
491
|
+
) -> "Axes":
|
|
492
|
+
"""Create a violin plot with SciTeX styling and tracking.
|
|
493
|
+
|
|
494
|
+
This is an alias for :meth:`stx_violin`.
|
|
495
|
+
|
|
496
|
+
Parameters
|
|
497
|
+
----------
|
|
498
|
+
data : array-like or sequence of array-like
|
|
499
|
+
Data for the violin plot. Can be a single array or list of arrays.
|
|
500
|
+
colors : list of str, optional
|
|
501
|
+
Colors for each violin.
|
|
502
|
+
track : bool, default True
|
|
503
|
+
Enable data tracking for reproducibility.
|
|
504
|
+
id : str, optional
|
|
505
|
+
Unique identifier for this plot element.
|
|
506
|
+
**kwargs
|
|
507
|
+
Additional arguments passed to the violin plot function.
|
|
508
|
+
|
|
509
|
+
Returns
|
|
510
|
+
-------
|
|
511
|
+
Axes
|
|
512
|
+
The axes with the violin plot.
|
|
513
|
+
|
|
514
|
+
See Also
|
|
515
|
+
--------
|
|
516
|
+
stx_violin : Primary violin plot method.
|
|
517
|
+
sns_violinplot : DataFrame-based violin plot.
|
|
518
|
+
stx_box : Boxplot alternative.
|
|
519
|
+
|
|
520
|
+
Examples
|
|
521
|
+
--------
|
|
522
|
+
>>> ax.stx_violinplot([data1, data2], labels=['A', 'B'])
|
|
523
|
+
"""
|
|
524
|
+
return self.stx_violin(data, colors=colors, track=track, id=id, **kwargs)
|
|
525
|
+
|
|
526
|
+
|
|
527
|
+
# EOF
|