seraplot 2.3.79__tar.gz → 2.3.81__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {seraplot-2.3.79 → seraplot-2.3.81}/Cargo.lock +1 -1
- {seraplot-2.3.79 → seraplot-2.3.81}/Cargo.toml +9 -1
- {seraplot-2.3.79 → seraplot-2.3.81}/PKG-INFO +1 -1
- {seraplot-2.3.79 → seraplot-2.3.81}/pyproject.toml +1 -1
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/commands/charts.rs +2 -1
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/commands/native.rs +3 -57
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/registry_macro.rs +66 -0
- seraplot-2.3.81/test_universal_ml.js +0 -0
- seraplot-2.3.79/test_universal_ml.js +0 -51
- {seraplot-2.3.79 → seraplot-2.3.81}/.gitignore +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/05--Diabetes_SeraPlot.ipynb +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/07--OpenFoodFacts_SeraPlot_Benchmark.ipynb +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/README.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/TEST_1M_Battle.ipynb +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_all.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_bigdata.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_full.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_issues.json +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_knn_sgd.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_perf.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_quick.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_quick2.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_scale.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_seraplot.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_sklearn.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_svc.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_svc2.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/bench_test.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/benchmark_gridsearch.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/benchmark_gridsearch2.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/benchmark_kmeans_heavy.ipynb +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/benchmark_kmeans_openfoodfacts.ipynb +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/benchmark_ml.ipynb +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/benchmark_ml_openfoodfacts.ipynb +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/benchmark_ml_out.ipynb +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/build.log +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/gen_bench_slides.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/2d/1.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/2d/2.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/2d/3.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/2d/4.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/2d/5.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/2d/6.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/2d/7.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/2d/8.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/3d/1.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/3d/2.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/3d/3.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/3d/4.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/3d/5.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/3d/6.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/3d/7.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/3d/8.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/README.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/benchmark/1.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/benchmark/2.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/benchmark/3.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/images/logo.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/kmeans_test.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/publish_2378.log +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/publish_log.txt +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/python/seraplot/__init__.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/python/seraplot/matplotlib.py +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/python/seraplot/seraplot.cp311-win_amd64.pyd.old +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/results_seraplot.json +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/results_sklearn.json +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/.github/workflows/mdbook.yml +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/README.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/asset/SVG World Map with labels.svg +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/asset/logo.png +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/asset/world.svg +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/builder_template.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/chart_types.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/commands/docs.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/commands/ml.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/commands/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/commands/registry.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/export_builder.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/fast_export_c.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/fast_render.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/memory_pool.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/unified_builder.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/unified_config.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/arena_alloc.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/bitset.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/compact_state.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/data_processor.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/image_processor.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/lazy_builders.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/memory_pool.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/simd_ops.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/bindings/utils/state_export.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/book.toml +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/core/builders.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/core/math.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/core/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/data/conversion.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/data/index.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/data/loader.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/data/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/data/processor.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/SUMMARY.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/api/index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/area.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/bar.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/boxplot.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/bubble.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/bullet.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/candlestick.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/donut.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/dumbbell.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/funnel.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/gauge.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/grid.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/grouped-bar.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/hbar.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/heatmap.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/histogram-overlay.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/histogram.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/kde.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/line.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/lollipop.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/multiline.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/parallel.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/pie.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/radar.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/ridgeline.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/scatter.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/slideshow.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/slope.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/stacked-bar.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/sunburst.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/treemap.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/violin.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/waterfall.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/2d/wordcloud.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/bar3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/bubble3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/candlestick3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/dumbbell3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/funnel3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/globe3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/heatmap3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/kde3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/line3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/lollipop3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/pie3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/radar3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/ridgeline3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/scatter3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/stacked-bar3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/sunburst3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/3d/violin3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/map/bubble-map.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/map/choropleth.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/charts/map/index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/config/auto-display.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/config/background.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/config/hover.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/config/palette.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/getting-started/chart-methods.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/getting-started/chart-object.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/getting-started/installation.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/getting-started/quickstart.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/introduction.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/adaboost.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/bayes-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/clustering-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/dbscan-class.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/dbscan.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/dbscan3d.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/decision-tree.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/decomposition-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/decomposition.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/elastic-net.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/evaluation-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/gradient-boosting.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/grid-search.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/kmeans-class.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/kmeans.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/knn.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/lasso.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/linear-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/linear-regression.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/logistic-regression.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/metrics.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/naive-bayes.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/neighbors-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/preprocessing-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/preprocessing.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/random-forest.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/ridge.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/selection-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/sgd.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/svm-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/svm.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/train-test-split.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/ml/tree-index.md +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/area.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/bar.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/bar3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/bench-matplotlib.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/bench-plotly.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/bench-seraplot.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/boxplot.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/bubble-map.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/bubble.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/bubble3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/bullet.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/candlestick.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/candlestick3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/choropleth.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/dbscan-class.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/dbscan.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/dbscan3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/donut.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/dumbbell.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/dumbbell3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/funnel.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/funnel3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/gauge.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/globe3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/grid.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/grouped-bar.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/hbar.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/heatmap.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/heatmap3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/histogram-overlay.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/histogram.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/kde.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/kde3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/line.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/line3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/lollipop.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/lollipop3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/multiline.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/parallel.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/pie.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/pie3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/radar.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/radar3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/ridgeline.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/ridgeline3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/scatter.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/scatter3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/slideshow.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/slope.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/stacked-bar.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/stacked-bar3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/sunburst.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/sunburst3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/treemap.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/violin.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/violin3d.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/waterfall.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/previews/wordcloud.html +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/theme/custom.css +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/docs/theme/lang-switcher.js +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/html/assets.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/html/fast_builders.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/html/fast_exporter.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/html/hover.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/html/html_export.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/html/html_template.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/html/js_3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/html/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/lib.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/cache.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/decomposition/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/decomposition/pca.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/linalg.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/linear/elastic_net.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/linear/lasso.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/linear/logistic.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/linear/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/linear/ols.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/linear/ridge.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/linear/sgd.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/metrics/classification.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/metrics/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/metrics/regression.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/model_selection/cross_val.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/model_selection/grid_search.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/model_selection/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/model_selection/split.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/naive_bayes/bernoulli.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/naive_bayes/gaussian.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/naive_bayes/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/naive_bayes/multinomial.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/neighbors/knn.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/neighbors/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/preprocessing/encoders.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/preprocessing/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/preprocessing/scalers.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/svm/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/svm/svm.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/tree/adaboost.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/tree/decision_tree.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/tree/decision_tree_backup.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/tree/gradient_boosting.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/tree/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/ml/tree/random_forest.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/camera.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/canvas.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/containers_3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/controller/chart_controller.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/controller/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/controller/plot_3d_controller.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/_3d/bar_3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/_3d/line_3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/_3d/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/_3d/plot_3d_types.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/_3d/scatter_3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/bar.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/chart.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/kmeans.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/line.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/scatter.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/default/svg.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/generic.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/_3d/globe.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/_3d/globe_html.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/_3d/globe_types.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/_3d/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/bubble_map.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/chart.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/choropleth.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/svg_parser.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/map/world_data.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/projection.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/renderers.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/scale_renderer.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/seaborn/_3d/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/seaborn/_3d/plot_3d_types.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/seaborn/chart.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/seaborn/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/candlestick3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/dumbbell3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/funnel3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/heatmap3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/kde3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/lollipop3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/pie3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/plot_3d_types.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/radar3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/ridgeline3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/stacked_bar3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/sunburst3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/_3d/violin3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/area.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/boxplot.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/bubble.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/bullet.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/candlestick.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/common.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/dumbbell.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/funnel.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/gauge.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/grouped_bar.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/heatmap.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/histogram.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/kde.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/lollipop.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/multiline.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/parallel.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/pie.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/radar.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/ridgeline.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/slope.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/sunburst.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/treemap.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/violin.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/waterfall.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/plot/statistical/wordcloud.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/cache.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/chart.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/gui.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/hybrid.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/manager/button_manager.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/manager/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/render/advanced_render.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/render/fast_render_gui.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/render/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/render/pipeline.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/render/viewer_3d.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/render/wiki_viewer.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/utils/image_loader.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/viewer/utils/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/wiki/api.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/wiki/extractor.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/wiki/language.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/wiki/macros.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/wiki/metadata.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/src/wiki/mod.rs +0 -0
- {seraplot-2.3.79 → seraplot-2.3.81}/test_accuracy.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[package]
|
|
2
2
|
name = "seraplot"
|
|
3
|
-
version = "2.3.
|
|
3
|
+
version = "2.3.81"
|
|
4
4
|
edition = "2021"
|
|
5
5
|
authors = ["feur25"]
|
|
6
6
|
description = "Rust data visualization framework - The modern Plotly alternative"
|
|
@@ -44,6 +44,14 @@ ffi = ["dep:egui"]
|
|
|
44
44
|
all = ["python"]
|
|
45
45
|
pyo3 = ["dep:pyo3"]
|
|
46
46
|
|
|
47
|
+
[[example]]
|
|
48
|
+
name = "csv_test"
|
|
49
|
+
path = "examples/csv_test.rs"
|
|
50
|
+
|
|
51
|
+
[[example]]
|
|
52
|
+
name = "csv_viewer"
|
|
53
|
+
path = "examples/csv_viewer.rs"
|
|
54
|
+
|
|
47
55
|
[profile.release]
|
|
48
56
|
lto = "thin"
|
|
49
57
|
codegen-units = 1
|
|
@@ -1305,7 +1305,8 @@ pub fn build_grid(input: &str) -> String {
|
|
|
1305
1305
|
let charts = a.charts.unwrap_or_default();
|
|
1306
1306
|
let cols = o.cols.unwrap_or(2).max(1);
|
|
1307
1307
|
let gap = o.gap.unwrap_or(16);
|
|
1308
|
-
let bg_color = o.background.
|
|
1308
|
+
let bg_color = o.background.clone().or_else(get_global_bg).unwrap_or_else(|| "#f0f2f5".to_string());
|
|
1309
|
+
let bg_color = bg_color.as_str();
|
|
1309
1310
|
let cell_height = o.cell_height.unwrap_or(520);
|
|
1310
1311
|
let mut buf = format!(
|
|
1311
1312
|
"<!DOCTYPE html><html><head><meta charset=\"utf-8\"><style>\
|
|
@@ -45,12 +45,6 @@ use crate::Chart;
|
|
|
45
45
|
#[cfg(feature = "python")]
|
|
46
46
|
use pyo3::types::PyAny;
|
|
47
47
|
|
|
48
|
-
#[cfg(feature = "python")]
|
|
49
|
-
fn chart_auto(name: &str, title: &str, n: usize) -> crate::ml::cache::TaskHandle {
|
|
50
|
-
let fp = crate::ml::cache::Fp::new(name).str(title).usize(n).finish();
|
|
51
|
-
crate::ml::cache::TaskHandle::auto(name, fp)
|
|
52
|
-
}
|
|
53
|
-
|
|
54
48
|
#[cfg(feature = "python")]
|
|
55
49
|
fn py_any_val(val: &PyAny) -> serde_json::Value {
|
|
56
50
|
if val.is_none() { return serde_json::Value::Null; }
|
|
@@ -267,61 +261,13 @@ impl KMeansModel {
|
|
|
267
261
|
}
|
|
268
262
|
|
|
269
263
|
#[cfg(feature = "python")]
|
|
270
|
-
|
|
271
|
-
#[pyo3(signature = (charts, cols=2, gap=16, bg=None, cell_height=520))]
|
|
272
|
-
pub fn build_grid(
|
|
273
|
-
charts: Vec<PyRef<Chart>>,
|
|
274
|
-
cols: usize,
|
|
275
|
-
gap: i32,
|
|
276
|
-
bg: Option<&str>,
|
|
277
|
-
cell_height: i32,
|
|
278
|
-
) -> Chart {
|
|
279
|
-
let _h = chart_auto("build_grid", "", 0);
|
|
280
|
-
let bg_color = bg.map(|s| s.to_string()).or_else(crate::get_global_background).unwrap_or_else(|| "#f0f2f5".to_string());
|
|
281
|
-
let html_strs: Vec<String> = charts.iter().map(|c| c.html.clone()).collect();
|
|
282
|
-
Chart::new_doc(
|
|
283
|
-
crate::bindings::commands::charts::build_grid(
|
|
284
|
-
&serde_json::json!({"charts": html_strs, "cols": cols, "gap": gap, "background": bg_color, "cell_height": cell_height}).to_string()
|
|
285
|
-
),
|
|
286
|
-
crate::bindings::commands::docs::DOC_BUILD_GRID,
|
|
287
|
-
)
|
|
288
|
-
}
|
|
264
|
+
crate::impl_python_build_grid!();
|
|
289
265
|
|
|
290
266
|
#[cfg(feature = "python")]
|
|
291
|
-
|
|
292
|
-
#[pyo3(signature = (charts, interval_ms=2500, title="", width=900, height=520))]
|
|
293
|
-
pub fn build_slideshow(
|
|
294
|
-
charts: Vec<PyRef<Chart>>,
|
|
295
|
-
interval_ms: u32,
|
|
296
|
-
title: &str,
|
|
297
|
-
width: i32,
|
|
298
|
-
height: i32,
|
|
299
|
-
) -> Chart {
|
|
300
|
-
let _h = chart_auto("build_slideshow", "", 0);
|
|
301
|
-
let html_strs: Vec<String> = charts.iter().map(|c| c.html.clone()).collect();
|
|
302
|
-
Chart::new_doc(
|
|
303
|
-
crate::bindings::commands::charts::build_slideshow(
|
|
304
|
-
&serde_json::json!({"charts": html_strs, "interval_ms": interval_ms, "title": title, "width": width, "height": height}).to_string()
|
|
305
|
-
),
|
|
306
|
-
crate::bindings::commands::docs::DOC_BUILD_SLIDESHOW,
|
|
307
|
-
)
|
|
308
|
-
}
|
|
267
|
+
crate::impl_python_build_slideshow!();
|
|
309
268
|
|
|
310
269
|
#[cfg(feature = "python")]
|
|
311
|
-
|
|
312
|
-
#[pyo3(signature = (labels, images=None, descriptions=None))]
|
|
313
|
-
pub fn build_hover_json(
|
|
314
|
-
labels: Vec<String>,
|
|
315
|
-
images: Option<Vec<Option<String>>>,
|
|
316
|
-
descriptions: Option<Vec<Vec<(String, String)>>>,
|
|
317
|
-
) -> String {
|
|
318
|
-
let desc_json: Option<Vec<Vec<Vec<String>>>> = descriptions.map(|outer|
|
|
319
|
-
outer.into_iter().map(|row| row.into_iter().map(|(k, v)| vec![k, v]).collect()).collect()
|
|
320
|
-
);
|
|
321
|
-
crate::bindings::commands::charts::build_hover_json(
|
|
322
|
-
&serde_json::json!({"labels": labels, "images": images, "descriptions": desc_json}).to_string()
|
|
323
|
-
)
|
|
324
|
-
}
|
|
270
|
+
crate::impl_python_build_hover_json!();
|
|
325
271
|
|
|
326
272
|
#[cfg(feature = "python")]
|
|
327
273
|
#[pyfunction]
|
|
@@ -182,3 +182,69 @@ macro_rules! for_each_fn {
|
|
|
182
182
|
$mac!(reset_global_background, "resetGlobalBackground");
|
|
183
183
|
};
|
|
184
184
|
}
|
|
185
|
+
|
|
186
|
+
#[macro_export]
|
|
187
|
+
macro_rules! impl_python_build_grid {
|
|
188
|
+
() => {
|
|
189
|
+
#[pyfunction]
|
|
190
|
+
#[pyo3(signature = (charts, cols=2, gap=16, bg=None, cell_height=520))]
|
|
191
|
+
pub fn build_grid(
|
|
192
|
+
charts: Vec<pyo3::PyRef<crate::Chart>>,
|
|
193
|
+
cols: usize,
|
|
194
|
+
gap: i32,
|
|
195
|
+
bg: Option<&str>,
|
|
196
|
+
cell_height: i32,
|
|
197
|
+
) -> crate::Chart {
|
|
198
|
+
let html_strs: Vec<String> = charts.iter().map(|c| c.html.clone()).collect();
|
|
199
|
+
crate::Chart::new_doc(
|
|
200
|
+
crate::bindings::commands::charts::build_grid(
|
|
201
|
+
&serde_json::json!({"charts": html_strs, "cols": cols, "gap": gap, "background": bg, "cell_height": cell_height}).to_string()
|
|
202
|
+
),
|
|
203
|
+
crate::bindings::commands::docs::DOC_BUILD_GRID,
|
|
204
|
+
)
|
|
205
|
+
}
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
#[macro_export]
|
|
210
|
+
macro_rules! impl_python_build_slideshow {
|
|
211
|
+
() => {
|
|
212
|
+
#[pyfunction]
|
|
213
|
+
#[pyo3(signature = (charts, interval_ms=2500, title="", width=900, height=520))]
|
|
214
|
+
pub fn build_slideshow(
|
|
215
|
+
charts: Vec<pyo3::PyRef<crate::Chart>>,
|
|
216
|
+
interval_ms: u32,
|
|
217
|
+
title: &str,
|
|
218
|
+
width: i32,
|
|
219
|
+
height: i32,
|
|
220
|
+
) -> crate::Chart {
|
|
221
|
+
let html_strs: Vec<String> = charts.iter().map(|c| c.html.clone()).collect();
|
|
222
|
+
crate::Chart::new_doc(
|
|
223
|
+
crate::bindings::commands::charts::build_slideshow(
|
|
224
|
+
&serde_json::json!({"charts": html_strs, "interval_ms": interval_ms, "title": title, "width": width, "height": height}).to_string()
|
|
225
|
+
),
|
|
226
|
+
crate::bindings::commands::docs::DOC_BUILD_SLIDESHOW,
|
|
227
|
+
)
|
|
228
|
+
}
|
|
229
|
+
};
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
#[macro_export]
|
|
233
|
+
macro_rules! impl_python_build_hover_json {
|
|
234
|
+
() => {
|
|
235
|
+
#[pyfunction]
|
|
236
|
+
#[pyo3(signature = (labels, images=None, descriptions=None))]
|
|
237
|
+
pub fn build_hover_json(
|
|
238
|
+
labels: Vec<String>,
|
|
239
|
+
images: Option<Vec<Option<String>>>,
|
|
240
|
+
descriptions: Option<Vec<Vec<(String, String)>>>,
|
|
241
|
+
) -> String {
|
|
242
|
+
let desc_json: Option<Vec<Vec<Vec<String>>>> = descriptions.map(|outer|
|
|
243
|
+
outer.into_iter().map(|row| row.into_iter().map(|(k, v)| vec![k, v]).collect()).collect()
|
|
244
|
+
);
|
|
245
|
+
crate::bindings::commands::charts::build_hover_json(
|
|
246
|
+
&serde_json::json!({"labels": labels, "images": images, "descriptions": desc_json}).to_string()
|
|
247
|
+
)
|
|
248
|
+
}
|
|
249
|
+
};
|
|
250
|
+
}
|
|
File without changes
|
|
@@ -1,51 +0,0 @@
|
|
|
1
|
-
const { execSync } = require("child_process");
|
|
2
|
-
|
|
3
|
-
const py = (code) => {
|
|
4
|
-
const escaped = code.replace(/"/g, '\\"');
|
|
5
|
-
return execSync(`python -c "${escaped}"`, { encoding: "utf8" }).trim();
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
const call = (fn, input) => {
|
|
9
|
-
return py(`import seraplot as s; import json; print(s.${fn}('${JSON.stringify(input).replace(/'/g, "\\'")}'))`);
|
|
10
|
-
};
|
|
11
|
-
|
|
12
|
-
let ok = 0;
|
|
13
|
-
let ko = 0;
|
|
14
|
-
|
|
15
|
-
const test = (name, fn, input, expectKey) => {
|
|
16
|
-
try {
|
|
17
|
-
const result = JSON.parse(call(fn, input));
|
|
18
|
-
if (result[expectKey] !== undefined) {
|
|
19
|
-
console.log(`ok ${name}`);
|
|
20
|
-
ok++;
|
|
21
|
-
} else {
|
|
22
|
-
console.log(`ko ${name} — missing key "${expectKey}" in: ${JSON.stringify(result).slice(0, 120)}`);
|
|
23
|
-
ko++;
|
|
24
|
-
}
|
|
25
|
-
} catch (e) {
|
|
26
|
-
console.log(`ko ${name} — ${e.message.slice(0, 120)}`);
|
|
27
|
-
ko++;
|
|
28
|
-
}
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
const XY = { x: [1,2,3,4,5,6,7,8,9,10], y: [1,2,2,3,3,4,4,5,5,6] };
|
|
32
|
-
const XY_BIN = { x: [1,2,3,4,5,6,7,8,9,10], y: [0,1,0,1,0,1,0,1,0,1] };
|
|
33
|
-
const XY_MULTI = { x: [[1,2,3],[4,5,6],[7,8,9],[10,11,12]], y: [0,1,2,0] };
|
|
34
|
-
|
|
35
|
-
test("ml_linear_regression", "ml_linear_regression", { ...XY, test_x: [11,12] }, "predictions");
|
|
36
|
-
test("ml_ridge", "ml_ridge", { ...XY, test_x: [11] }, "predictions");
|
|
37
|
-
test("ml_lasso", "ml_lasso", { ...XY, test_x: [11] }, "predictions");
|
|
38
|
-
test("ml_elastic_net", "ml_elastic_net", { ...XY, test_x: [11] }, "predictions");
|
|
39
|
-
test("ml_logistic_regression", "ml_logistic_regression", { ...XY_BIN, test_x: [2,5] }, "predictions");
|
|
40
|
-
test("ml_decision_tree_classifier", "ml_decision_tree_classifier", { ...XY_BIN, test_x: [2] }, "predictions");
|
|
41
|
-
test("ml_decision_tree_regressor", "ml_decision_tree_regressor", { ...XY, test_x: [11] }, "predictions");
|
|
42
|
-
test("ml_random_forest_classifier", "ml_random_forest_classifier", { ...XY_BIN, test_x: [2] }, "predictions");
|
|
43
|
-
test("ml_random_forest_regressor", "ml_random_forest_regressor", { ...XY, test_x: [11] }, "predictions");
|
|
44
|
-
test("ml_gradient_boosting_classifier", "ml_gradient_boosting_classifier", { ...XY_BIN, test_x: [2] }, "predictions");
|
|
45
|
-
test("ml_gradient_boosting_regressor", "ml_gradient_boosting_regressor", { ...XY, test_x: [11] }, "predictions");
|
|
46
|
-
test("ml_knn_classifier", "ml_knn_classifier", { ...XY_BIN, test_x: [2] }, "predictions");
|
|
47
|
-
test("ml_knn_regressor", "ml_knn_regressor", { ...XY, test_x: [11] }, "predictions");
|
|
48
|
-
test("ml_dbscan_fit_predict", "ml_dbscan_fit_predict", { x: [[1,2],[1.1,2.1],[5,6],[5.1,6.1]] }, "labels");
|
|
49
|
-
test("ml_kmeans_fit_predict", "ml_kmeans_fit_predict", { x: [[1,2],[1.1,2.1],[5,6],[5.1,6.1]], k: 2 }, "labels");
|
|
50
|
-
|
|
51
|
-
console.log(`\n${ok} ok / ${ko} ko`);
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
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
|