DaSPi 2.3.1__tar.gz → 2.3.2__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.
- {daspi-2.3.1 → daspi-2.3.2}/PKG-INFO +1 -1
- {daspi-2.3.1 → daspi-2.3.2}/daspi/constants.py +358 -38
- {daspi-2.3.1 → daspi-2.3.2}/pyproject.toml +1 -1
- {daspi-2.3.1 → daspi-2.3.2}/LICENSE +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/README.md +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/__init__.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/_typing.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/_version.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/anova/__init__.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/anova/convert.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/anova/model.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/anova/tables.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/config.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/__init__.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/ancova.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/anova.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/anova2.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/anova2_unbalanced.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/anova3.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/anova3_unbalanced.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/carpet_full-factorial.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/covariate.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/drop_card.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/eeprom_full-factorial.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/eeprom_partial-factorial.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/grnr_adjustment.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/grnr_layer_thickness.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/grnr_spc.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/iris.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/mpg.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/painkillers-dissolution.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/partial_factorial.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/penguins.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/process_capability.mpx +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/salt_sticks.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/shoe-sole.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/datasets/tips.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/doe/__init__.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/doe/build.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/__init__.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/appearance.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/chart.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/classify.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/facets.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/plotter.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/precast.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/styles/daspi-dark.mplstyle +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/styles/daspi.mplstyle +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/styles/ggplot2.mplstyle +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/plotlib/styles/seaborn.mplstyle +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/requirements.txt +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/statistics/__init__.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/statistics/confidence.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/statistics/estimation.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/statistics/hypothesis.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/statistics/montecarlo.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/daspi/strings.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/ANOVA_SS_Fehler.mpx +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/ANOVA_SS_Fehler.mpx.bak +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/GageRnR.mpx +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/GageRnR.mpx.bak +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/__init__.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/anova_convert_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/anova_model_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/anova_tables_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_alignments_basic.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_all_alignments.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_angles_basic.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_callable_formatters.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_combined_all_features.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_extreme_angles.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_formatters_basic.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_formatters_scientific.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_multivariate_formatting.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_orientation_mapping.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Formatting_Features_Test_percentage_formatter.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_comparison_with_violin.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_custom_color.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_custom_width.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_joint_chart_mixed_plots.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_multivariate_chart_facets.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_resolution_high.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_single_chart_horizontal.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_single_chart_no_fade.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_single_chart_no_fill.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_single_chart_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/GaussianKDEContourUnivariate_single_chart_with_hue.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/JointChart_bar_stacking.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/JointChart_kdes_kde-mean.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/JointChart_kdes_mixed-kde.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/JointChart_pareto_marked.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/JointChart_probability_dists-prob.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/JointChart_probability_norm-prob.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/JointChart_regression_kde.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/MultivariateChart_full-stripes.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/MultivariateChart_full.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_bivariate-univariate-charts_contour-mean-test.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_bivariate-univariate-charts_mean-test.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_bivariate-univariate-charts_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_bivariate-univariate-charts_smoothed.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_bivariate-univariate-charts_user.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_gage_rnr_model_basic.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_gage_study_model_basic.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_pair_comparison_charts_basic.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_parameter_relevance_charts_basic.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_process-capabity-analysis-charts_hue.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/Precasts_residual_charts_basic.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_KDE-cumulative_multiple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_KDE-cumulative_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_KDE_multiple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_KDE_ridge.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_KDE_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_beeswarm_multiple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_beeswarm_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_blandaltman_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_blandaltman_user.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_box_fill.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_box_multiple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_box_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_categorical-float-features_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_errorbar_mean-test.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_errorbar_sem.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_errorbar_std-test.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_errorbar_var-test.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_fitted-density_cdf-multiple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_fitted-density_pdf-data.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_fitted-density_pdf-norm.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_jitter_multiple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_jitter_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_line_hue.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_line_hue_size.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_pareto_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_pareto_transposed.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_quantiles_multiple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_quantiles_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_full.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_hue-shape.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_hue-size.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_hue.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_shape.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_simple-stripes-65ci.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_simple-stripes-99ci.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_simple-stripes.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_size-shape.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_size.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_scatter_transposed.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_violin_mono.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_violin_multiple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_violin_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_violine-contour_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_violine_mono.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_violine_multiple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/charts/SingleChart_violine_simple.png +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/config_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/data/anova3_result.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/data/dists_10-samples.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/data/dists_25-samples.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/data/gage_rnr.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/data/gage_study.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/data/generate_dists.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/data/grnr_d-optimal.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/data/uncertainties.csv +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/doe_build_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/plotlib_appearance_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/plotlib_chart_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/plotlib_classify_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/plotlib_facets_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/plotlib_plotter_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/plotlib_templates_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/plotlib_visual_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/r2_pred.mpx +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/r2_pred.mpx.bak +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/statistics_confidence_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/statistics_estimation_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/statistics_hypothesis_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/statistics_montecarlo_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/strings_test.py +0 -0
- {daspi-2.3.1 → daspi-2.3.2}/tests/test_full_factorial_design_builder.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: DaSPi
|
|
3
|
-
Version: 2.3.
|
|
3
|
+
Version: 2.3.2
|
|
4
4
|
Summary: Visualize and analyze your data with DaSPi. This package is designed for users who want to find relevant influencing factors in processes and validate improvements.
|
|
5
5
|
Author-Email: Reto Jäggli <reto@jaeggli.email>
|
|
6
6
|
License: MIT
|
|
@@ -46,21 +46,47 @@ PERCENT_DECIMALS = 2
|
|
|
46
46
|
|
|
47
47
|
@dataclass(frozen=True)
|
|
48
48
|
class _Line_:
|
|
49
|
+
"""Line style and width constants used throughout the DaSPi library.
|
|
50
|
+
Don't instantiate this class directly. Use the `LINE` constant
|
|
51
|
+
instead."""
|
|
52
|
+
|
|
49
53
|
WIDTH: float = 1.0
|
|
50
54
|
"""Line width for special lines e.g. StripeLines."""
|
|
55
|
+
|
|
51
56
|
SOLID: LineStyle = (0, ())
|
|
52
57
|
"""Line style argument for a solid line."""
|
|
58
|
+
|
|
53
59
|
DOTTED: LineStyle = (0, (2, 2))
|
|
54
60
|
"""Line style argument for a dotted line."""
|
|
61
|
+
|
|
55
62
|
DASHED: LineStyle = (0, (5, 5))
|
|
56
63
|
"""Line style argument for a dashed line."""
|
|
64
|
+
|
|
57
65
|
DASHDOT: LineStyle = (0, (8, 5, 2, 5))
|
|
58
66
|
"""Line style argument for a dashed dotted line."""
|
|
67
|
+
|
|
59
68
|
LINE = _Line_()
|
|
69
|
+
"""Line style and width constants used throughout the DaSPi library.
|
|
70
|
+
|
|
71
|
+
Examples
|
|
72
|
+
--------
|
|
73
|
+
|
|
74
|
+
```python
|
|
75
|
+
import matplotlib.pyplot as plt
|
|
76
|
+
import daspi as dsp
|
|
77
|
+
|
|
78
|
+
plt.plot([0, 1], [0, 1], **dsp.LINE.SOLID)
|
|
79
|
+
```
|
|
80
|
+
"""
|
|
60
81
|
|
|
61
82
|
|
|
62
83
|
@dataclass(frozen=True)
|
|
63
84
|
class _Kw_:
|
|
85
|
+
"""Keyword arguments for various plotting elements used throughout
|
|
86
|
+
the DaSPi library.
|
|
87
|
+
|
|
88
|
+
Don't instantiate this class directly. Use the `KW` constant
|
|
89
|
+
instead."""
|
|
64
90
|
|
|
65
91
|
_margin: float = 0.01
|
|
66
92
|
"""Margin between label and figure border."""
|
|
@@ -259,80 +285,158 @@ class _Kw_:
|
|
|
259
285
|
'alpha': COLOR.MARKER_ALPHA}
|
|
260
286
|
|
|
261
287
|
KW = _Kw_()
|
|
288
|
+
"""Keyword arguments for various plotting elements used throughout the
|
|
289
|
+
DaSPi library.
|
|
290
|
+
|
|
291
|
+
Example usage:
|
|
292
|
+
|
|
293
|
+
```python
|
|
294
|
+
import daspi as dsp
|
|
295
|
+
print(dsp.KW.MEAN_LINE)
|
|
296
|
+
```
|
|
297
|
+
"""
|
|
262
298
|
|
|
263
299
|
|
|
264
300
|
@dataclass(frozen=True)
|
|
265
301
|
class _Regex_:
|
|
302
|
+
"""Class containing precompiled regular expression patterns used
|
|
303
|
+
throughout the DaSPi library.
|
|
304
|
+
|
|
305
|
+
Don't instantiate this class directly. Use the `RE` constant
|
|
306
|
+
instead."""
|
|
266
307
|
|
|
267
308
|
ENCODED_NAME: Pattern = re.compile(r'(.+)\[[T.]?.+\]')
|
|
268
309
|
"""Patsy encoded column name."""
|
|
310
|
+
|
|
269
311
|
ENCODED_VALUE: Pattern = re.compile(r'\[T.(.+)]')
|
|
270
312
|
"""Patsy encoded value shown in parameter name."""
|
|
271
313
|
|
|
272
314
|
RE = _Regex_()
|
|
315
|
+
"""Precompiled regular expression patterns used throughout the DaSPi
|
|
316
|
+
library."""
|
|
273
317
|
|
|
274
318
|
|
|
275
319
|
@dataclass(frozen=True)
|
|
276
320
|
class _Color_:
|
|
321
|
+
"""Color constants used throughout the DaSPi library.
|
|
322
|
+
|
|
323
|
+
Don't instantiate this class directly. Use the `COLOR` constant
|
|
324
|
+
instead."""
|
|
277
325
|
|
|
278
326
|
GOOD: str = '#2ca02c7f'
|
|
279
327
|
"""Color for things that should be represented as 'good'."""
|
|
328
|
+
|
|
280
329
|
BAD: str = '#d627287f'
|
|
281
330
|
"""Color for things that should be represented as 'bad'."""
|
|
331
|
+
|
|
282
332
|
ANOMALY: str = '#ff7f0e7f'
|
|
283
333
|
"""Color for anomalies."""
|
|
334
|
+
|
|
284
335
|
SPECIAL_LINE: str = "#0e8bff7e"
|
|
285
336
|
"""Color for fitted lines or thresholds in precas charts."""
|
|
337
|
+
|
|
286
338
|
MEAN: str = '#2F3333'
|
|
287
339
|
"""Color for mean line used for StripesFacets."""
|
|
340
|
+
|
|
288
341
|
MEDIAN: str = '#626666'
|
|
289
342
|
"""Color for median line used for StripesFacets."""
|
|
343
|
+
|
|
290
344
|
PERCENTIL: str = '#979A9A'
|
|
291
345
|
"""Color for upper and lower percentil line used for StripesFacets."""
|
|
346
|
+
|
|
292
347
|
HANDLES: str = '#626666'
|
|
293
348
|
"""Color for size and shape legend handles."""
|
|
349
|
+
|
|
294
350
|
STRIPE: str = '#CACCCC'
|
|
295
351
|
"""Color for individual stripes."""
|
|
352
|
+
|
|
296
353
|
TRANSPARENT: str = '#ffffff00'
|
|
297
354
|
"""Transparent 'color' to hide ticks or other stuff."""
|
|
355
|
+
|
|
298
356
|
BLUR: str = '#ffffffaa'
|
|
299
357
|
"""Color to blur other colors, by adding 2/3 white."""
|
|
358
|
+
|
|
300
359
|
DARKEN: str = '#00000019'
|
|
301
360
|
"""Color to darken other colors, by adding 10 % black."""
|
|
361
|
+
|
|
302
362
|
MARKER_ALPHA: float = 0.5
|
|
303
363
|
"""The covering capacity of markers."""
|
|
364
|
+
|
|
304
365
|
FILL_ALPHA: float = 0.5
|
|
305
366
|
"""The covering capacity of filled areas."""
|
|
367
|
+
|
|
306
368
|
CI_ALPHA: float = 0.2
|
|
307
369
|
"""The covering capacity of confidence intervals."""
|
|
370
|
+
|
|
308
371
|
CI_STRIPES: str = '#D7DBDF'
|
|
309
372
|
"""Color for confidence interval stripes."""
|
|
373
|
+
|
|
310
374
|
SPECIAL_AREA1: str = "#145a5aa0"
|
|
311
375
|
"""Color for special area 1."""
|
|
376
|
+
|
|
312
377
|
SPECIAL_AREA2: str = "#5a47149f"
|
|
313
378
|
"""Color for special area 2."""
|
|
314
379
|
|
|
315
380
|
@property
|
|
316
381
|
def PALETTE(self) -> list[str]:
|
|
317
|
-
"""
|
|
382
|
+
"""Color palette from the current matplotlib rcParams property
|
|
383
|
+
cycle."""
|
|
318
384
|
return plt.rcParams['axes.prop_cycle'].by_key()['color']
|
|
319
385
|
|
|
320
386
|
@property
|
|
321
387
|
def LIMITS(self) -> tuple[str, str]:
|
|
322
|
-
"""Color for specification limits.
|
|
388
|
+
"""Color for specification limits. It returns a tuple containing
|
|
389
|
+
the colors for the lower and upper specification limits,
|
|
390
|
+
respectively, and is defined by the constant :attr:`BAD`
|
|
391
|
+
(twice)."""
|
|
323
392
|
return (self.BAD, self.BAD)
|
|
324
393
|
|
|
325
394
|
@property
|
|
326
395
|
def STATISTIC_LINES(self) -> tuple[str, str, str]:
|
|
327
396
|
"""Statistic lines color in order lower (Percentil Q_0.99865)
|
|
328
|
-
upper (Percentil Q_0.00135) and mean.
|
|
397
|
+
upper (Percentil Q_0.00135) and mean.
|
|
398
|
+
|
|
399
|
+
It returns a tuple containing the colors for the lower
|
|
400
|
+
percentile line, upper percentile line, and mean line,
|
|
401
|
+
respectively and is defined by the constants :attr:`PERCENTIL`
|
|
402
|
+
and :attr:`MEAN`.
|
|
403
|
+
"""
|
|
329
404
|
return (self.PERCENTIL, self.PERCENTIL, self.MEAN)
|
|
330
405
|
|
|
331
406
|
COLOR = _Color_()
|
|
407
|
+
"""Color constants for the plotting library. Used to maintain consistent
|
|
408
|
+
color schemes across different plots.
|
|
409
|
+
|
|
410
|
+
Examples
|
|
411
|
+
--------
|
|
412
|
+
Getting the color palette:
|
|
413
|
+
```python
|
|
414
|
+
import daspi as dsp
|
|
415
|
+
|
|
416
|
+
print(dsp.COLOR.PALETTE)
|
|
417
|
+
```
|
|
418
|
+
|
|
419
|
+
Use individual color constants for a Stripe within a plot:
|
|
420
|
+
```python
|
|
421
|
+
import numpy as np
|
|
422
|
+
import daspi as dsp
|
|
423
|
+
|
|
424
|
+
x = np.array([1, 2, 3, 4, 5]) # Example data for demonstration purposes
|
|
425
|
+
x_bar = np.mean(x)
|
|
426
|
+
|
|
427
|
+
stripe = dsp.StripeLine(
|
|
428
|
+
label=r'\bar x = 'f'{x_bar:.2f}',
|
|
429
|
+
position=x_bar,
|
|
430
|
+
color=dsp.COLOR.SPECIAL_LINE,)
|
|
431
|
+
```
|
|
432
|
+
"""
|
|
332
433
|
|
|
333
434
|
|
|
334
435
|
@dataclass(frozen=True)
|
|
335
436
|
class _Label_:
|
|
437
|
+
"""Class containing label-related constants used throughout the
|
|
438
|
+
DaSPi library. Don't instantiate this class directly. Use the
|
|
439
|
+
`LABEL` constant instead."""
|
|
336
440
|
|
|
337
441
|
PPI: float = 1/72
|
|
338
442
|
"""Font size points per inch."""
|
|
@@ -340,52 +444,79 @@ class _Label_:
|
|
|
340
444
|
"""Additional padding in pixels between labels e.g. title and
|
|
341
445
|
subtitle."""
|
|
342
446
|
X_ALIGNEMENT: int = 35
|
|
343
|
-
"""Horizontal alignment of labels (fig title, sub title and info)
|
|
447
|
+
"""Horizontal alignment of labels (fig title, sub title and info),
|
|
448
|
+
given in pixels from the left figure border."""
|
|
344
449
|
|
|
345
450
|
LABEL = _Label_()
|
|
451
|
+
"""Label-related constants used throughout the DaSPi library, such as
|
|
452
|
+
font size conversion, padding between labels and horizontal alignment
|
|
453
|
+
of figure titles."""
|
|
346
454
|
|
|
347
455
|
|
|
348
456
|
@dataclass(frozen=True)
|
|
349
457
|
class _Plotter_:
|
|
458
|
+
"""Column name constants used internally by the plotter classes to
|
|
459
|
+
store generated or transformed data (e.g. fitted values, confidence
|
|
460
|
+
intervals, LOWESS results).
|
|
461
|
+
|
|
462
|
+
Don't instantiate this class directly. Use the `PLOTTER` constant
|
|
463
|
+
instead."""
|
|
350
464
|
|
|
351
465
|
FEATURE: Literal['_feature_'] = '_feature_'
|
|
352
466
|
"""Column name for generated features."""
|
|
467
|
+
|
|
353
468
|
TRANSFORMED_FEATURE: Literal['_transformed_'] = '_transformed_'
|
|
354
469
|
"""Column name for transformed feature if no features were given
|
|
355
470
|
during initialization."""
|
|
471
|
+
|
|
356
472
|
F_BASE_NAME: Literal['_base_'] = '_base_'
|
|
357
473
|
"""Column name for the base position of transformed features such
|
|
358
474
|
as Jitter or KDE."""
|
|
475
|
+
|
|
359
476
|
LOWER: Literal['_lower_'] = '_lower_'
|
|
360
477
|
"""Column name for lower points used for e.g. error bars."""
|
|
478
|
+
|
|
361
479
|
UPPER: Literal['_upper_'] = '_upper_'
|
|
362
480
|
"""Column name for upper points used for e.g. error bars."""
|
|
481
|
+
|
|
363
482
|
FITTED_VALUES: Literal['_fitted_values_'] = '_fitted_values_'
|
|
364
483
|
"""Column name for fitted values."""
|
|
484
|
+
|
|
365
485
|
FIT_CI_LOW: Literal['_fit_ci_low_'] = '_fit_ci_low_'
|
|
366
486
|
"""Column name for lower confidence of fitted values."""
|
|
487
|
+
|
|
367
488
|
FIT_CI_UPP: Literal['_fit_ci_upp_'] = '_fit_ci_upp_'
|
|
368
489
|
"""Column name for upper confidence of fitted values."""
|
|
490
|
+
|
|
369
491
|
PRED_CI_LOW: Literal['_pred_ci_low_'] = '_pred_ci_low_'
|
|
370
492
|
"""Column name for lower confidence of fitted line."""
|
|
493
|
+
|
|
371
494
|
PRED_CI_UPP: Literal['_pred_ci_upp_'] = '_pred_ci_upp_'
|
|
372
495
|
"""Column name for upper confidence of fitted line."""
|
|
496
|
+
|
|
373
497
|
LOWESS_TARGET: Literal['lowess_target'] = 'lowess_target'
|
|
374
498
|
"""Column name for lowess target values."""
|
|
499
|
+
|
|
375
500
|
LOWESS_FEATURE: Literal['lowess_feature'] = 'lowess_feature'
|
|
376
501
|
"""Column name for lowess feature values."""
|
|
502
|
+
|
|
377
503
|
LOWESS_LOW: Literal['lowess_low'] = 'lowess_low'
|
|
378
504
|
"""Column name for lower confidence of fitted values."""
|
|
505
|
+
|
|
379
506
|
LOWESS_UPP: Literal['lowess_upp'] = 'lowess_upp'
|
|
380
507
|
"""Column name for upper confidence of fitted values."""
|
|
508
|
+
|
|
381
509
|
PARETO_N_TICKS: Literal[11] = 11
|
|
382
510
|
"""Number of ticks to represent percentage values in Pareto charts."""
|
|
511
|
+
|
|
383
512
|
PARETO_AXLIM_FACTOR: float = 1.05
|
|
384
513
|
"""Factor to set the axis limit for the upper value in the Pareto
|
|
385
514
|
diagram."""
|
|
515
|
+
|
|
386
516
|
PARETO_F_MARGIN: float = 0.1
|
|
387
517
|
"""Margin in feature axis direction to ensure space for percentage
|
|
388
518
|
values."""
|
|
519
|
+
|
|
389
520
|
SUBGROUP: Literal['_subgroup_'] = '_subgroup_'
|
|
390
521
|
"""Column name for subgroups used mostly in TransformPlotter."""
|
|
391
522
|
|
|
@@ -403,20 +534,31 @@ class _Plotter_:
|
|
|
403
534
|
return names
|
|
404
535
|
|
|
405
536
|
PLOTTER = _Plotter_()
|
|
537
|
+
"""Column name constants used internally by the plotter classes to
|
|
538
|
+
store generated or transformed data."""
|
|
406
539
|
|
|
407
540
|
|
|
408
541
|
@dataclass(frozen=True)
|
|
409
542
|
class _Category_:
|
|
543
|
+
"""Constants used to visually distinguish categorical data (hue,
|
|
544
|
+
size and shape) in plots.
|
|
545
|
+
|
|
546
|
+
Don't instantiate this class directly. Use the `CATEGORY` constant
|
|
547
|
+
instead."""
|
|
410
548
|
|
|
411
549
|
MARKERS: tuple[str, ...] = ('o', 's', '^', 'p', 'D', 'v', 'P', 'X', '*')
|
|
412
550
|
"""Markers for visually easy distinction."""
|
|
551
|
+
|
|
413
552
|
MARKERSIZE_LIMITS: tuple[int, int] = (1, 13)
|
|
414
553
|
"""Marker size limits used for sizing."""
|
|
554
|
+
|
|
415
555
|
N_SIZE_BINS: int = 5
|
|
416
556
|
"""Amount of size bins in the legend."""
|
|
557
|
+
|
|
417
558
|
FEATURE_SPACE: float = 0.8
|
|
418
559
|
"""Space required in the direction of the feature axis to draw
|
|
419
560
|
categorical artists such as violin or jitter."""
|
|
561
|
+
|
|
420
562
|
FEATURE_PAD: float = 0.05
|
|
421
563
|
"""Padding between dodget artists."""
|
|
422
564
|
|
|
@@ -433,29 +575,144 @@ class _Category_:
|
|
|
433
575
|
return tuple(COLOR.PALETTE)
|
|
434
576
|
|
|
435
577
|
CATEGORY = _Category_()
|
|
578
|
+
"""Constants used to visually distinguish categorical data (hue, size
|
|
579
|
+
and shape) in plots."""
|
|
436
580
|
|
|
437
581
|
|
|
438
582
|
@dataclass(frozen=True)
|
|
439
583
|
class _Distribution_:
|
|
584
|
+
"""Groups of Scipy continuous distribution names used for fitting
|
|
585
|
+
and selecting distributions throughout the DaSPi library.
|
|
586
|
+
|
|
587
|
+
Don't instantiate this class directly. Use the `DIST` constant
|
|
588
|
+
instead."""
|
|
589
|
+
|
|
590
|
+
POSSIBLE: tuple[str, ...] = tuple(
|
|
591
|
+
d for d in _distn_names
|
|
592
|
+
if d not in ('levy_stable', 'studentized_range'))
|
|
593
|
+
"""Get all possible continuous distributions from Scipy, except
|
|
594
|
+
'levy_stable' and 'studentized_range'. These distributions are often
|
|
595
|
+
problematic or have special requirements, so they are excluded."""
|
|
596
|
+
|
|
597
|
+
COMMON: tuple[str, ...] = (
|
|
598
|
+
'norm',
|
|
599
|
+
'chi2',
|
|
600
|
+
'foldnorm',
|
|
601
|
+
'rayleigh',
|
|
602
|
+
'weibull_min',
|
|
603
|
+
'gamma',
|
|
604
|
+
'wald',
|
|
605
|
+
'expon',
|
|
606
|
+
'logistic',
|
|
607
|
+
'lognorm',)
|
|
608
|
+
"""Distributions that commonly occur in practice. These are often a
|
|
609
|
+
good starting point for fitting. It includes the following
|
|
610
|
+
distributions:
|
|
611
|
+
- norm
|
|
612
|
+
- chi2
|
|
613
|
+
- foldnorm
|
|
614
|
+
- rayleigh
|
|
615
|
+
- weibull_min
|
|
616
|
+
- gamma
|
|
617
|
+
- wald
|
|
618
|
+
- expon
|
|
619
|
+
- logistic
|
|
620
|
+
- lognorm
|
|
621
|
+
"""
|
|
440
622
|
|
|
441
|
-
|
|
623
|
+
COMMON_NOT_NORM: tuple[str, ...] = tuple(d for d in COMMON if d != 'norm')
|
|
624
|
+
"""Get all common distributions but norm, usefull to fit if norm
|
|
625
|
+
tests fail. It includes the following distributions:
|
|
626
|
+
- chi2
|
|
627
|
+
- foldnorm
|
|
628
|
+
- rayleigh
|
|
629
|
+
- weibull_min
|
|
630
|
+
- gamma
|
|
631
|
+
- wald
|
|
632
|
+
- expon
|
|
633
|
+
- logistic
|
|
634
|
+
- lognorm
|
|
635
|
+
"""
|
|
442
636
|
|
|
443
|
-
|
|
444
|
-
'
|
|
445
|
-
'
|
|
446
|
-
|
|
637
|
+
POSITIVE: tuple[str, ...] = (
|
|
638
|
+
'chi2',
|
|
639
|
+
'rayleigh',
|
|
640
|
+
'expon',
|
|
641
|
+
'gamma',
|
|
642
|
+
'weibull_min',
|
|
643
|
+
'lognorm',
|
|
644
|
+
'invgauss',)
|
|
645
|
+
"""Continuous distributions with support x >= 0. Those are useful
|
|
646
|
+
when modeling quantities that cannot be negative. It includes the
|
|
647
|
+
following distributions:
|
|
648
|
+
- chi2
|
|
649
|
+
- rayleigh
|
|
650
|
+
- expon
|
|
651
|
+
- gamma
|
|
652
|
+
- weibull_min
|
|
653
|
+
- lognorm
|
|
654
|
+
- invgauss
|
|
655
|
+
"""
|
|
447
656
|
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
'
|
|
452
|
-
|
|
657
|
+
POSITIVE_SKEWED: tuple[str, ...] = (
|
|
658
|
+
'expon',
|
|
659
|
+
'gamma',
|
|
660
|
+
'weibull_min',
|
|
661
|
+
'lognorm',
|
|
662
|
+
'invgauss',
|
|
663
|
+
'rayleigh',)
|
|
664
|
+
"""Common positive and right-skewed distributions. These are often
|
|
665
|
+
used when modeling quantities that are strictly positive and exhibit
|
|
666
|
+
right skewness. It includes the following distributions:
|
|
667
|
+
- expon
|
|
668
|
+
- gamma
|
|
669
|
+
- weibull_min
|
|
670
|
+
- lognorm
|
|
671
|
+
- invgauss
|
|
672
|
+
- rayleigh
|
|
673
|
+
"""
|
|
453
674
|
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
675
|
+
SYMMETRIC: tuple[str, ...] = (
|
|
676
|
+
'norm',
|
|
677
|
+
'logistic',)
|
|
678
|
+
"""Common symmetric distributions. These distributions have a
|
|
679
|
+
symmetric shape around their mean. It includes the following
|
|
680
|
+
distributions:
|
|
681
|
+
- norm
|
|
682
|
+
- logistic
|
|
683
|
+
"""
|
|
684
|
+
|
|
685
|
+
LIFETIME: tuple[str, ...] = (
|
|
686
|
+
'expon',
|
|
687
|
+
'gamma',
|
|
688
|
+
'weibull_min',
|
|
689
|
+
'lognorm',
|
|
690
|
+
'invgauss',)
|
|
691
|
+
"""Common lifetime and reliability distributions. These
|
|
692
|
+
distributions are often used to model the time until an event
|
|
693
|
+
occurs, such as failure or death. It includes the following
|
|
694
|
+
distributions:
|
|
695
|
+
- expon
|
|
696
|
+
- gamma
|
|
697
|
+
- weibull_min
|
|
698
|
+
- lognorm
|
|
699
|
+
- invgauss
|
|
700
|
+
"""
|
|
701
|
+
|
|
702
|
+
FAST_FIT: tuple[str, ...] = (
|
|
703
|
+
'norm',
|
|
704
|
+
'gamma',
|
|
705
|
+
'weibull_min',
|
|
706
|
+
'lognorm',)
|
|
707
|
+
"""Distributions that are fast to fit and cover surprisingly many
|
|
708
|
+
real datasets. These distributions are typically chosen when a
|
|
709
|
+
balance between computational efficiency and modeling flexibility is
|
|
710
|
+
desired. It includes the following distributions:
|
|
711
|
+
- norm
|
|
712
|
+
- gamma
|
|
713
|
+
- weibull_min
|
|
714
|
+
- lognorm
|
|
715
|
+
"""
|
|
459
716
|
|
|
460
717
|
@property
|
|
461
718
|
def UNCERTAINTY_FACTORS(self) -> dict[str, float]:
|
|
@@ -474,31 +731,43 @@ class _Distribution_:
|
|
|
474
731
|
-------
|
|
475
732
|
- https://de.wikipedia.org/wiki/Stetige_Gleichverteilung
|
|
476
733
|
- https://www.versuchsmethoden.de/Mess-System-Analyse.pdf"""
|
|
477
|
-
|
|
734
|
+
return {
|
|
478
735
|
'rectangular': 3**0.5, # ≈ 1.732
|
|
479
736
|
'triangular': 2.0,
|
|
480
737
|
'normal': 1.0}
|
|
481
|
-
return factors
|
|
482
738
|
|
|
483
739
|
DIST = _Distribution_()
|
|
740
|
+
"""Groups of Scipy continuous distribution names used for fitting and
|
|
741
|
+
selecting distributions throughout the DaSPi library."""
|
|
484
742
|
|
|
485
743
|
|
|
486
744
|
@dataclass(frozen=True)
|
|
487
745
|
class _Default_:
|
|
746
|
+
"""Default values used throughout the DaSPi library, e.g. confidence
|
|
747
|
+
level, sequence lengths for kernel density estimation and LOWESS,
|
|
748
|
+
and quantile ranges.
|
|
749
|
+
|
|
750
|
+
Don't instantiate this class directly. Use the `DEFAULT` constant
|
|
751
|
+
instead."""
|
|
488
752
|
|
|
489
753
|
CONFIDENCE_LEVEL: float = 0.95
|
|
490
754
|
"""Default confidence level. 95 % confidence interval is used very
|
|
491
755
|
frequently in practice."""
|
|
756
|
+
|
|
492
757
|
FEATURE_BASE: Literal[0] = 0
|
|
493
758
|
"""Default feature base position for e.g. Jitter or KDE."""
|
|
759
|
+
|
|
494
760
|
KD_SEQUENCE_LEN: Literal[300] = 300
|
|
495
761
|
"""Amount of points for kernel density sequence."""
|
|
762
|
+
|
|
496
763
|
LOWESS_SEQUENCE_LEN: Literal[300] = 300
|
|
497
764
|
"""Amount of points for LOWESS curve."""
|
|
765
|
+
|
|
498
766
|
PLOTTING_COLOR: str = '#2F3333'
|
|
499
767
|
"""Default color in plots if there is no hueing only used for styles
|
|
500
768
|
they dont use the regular color palette order (e.g. daspi and
|
|
501
769
|
ggplot2)."""
|
|
770
|
+
|
|
502
771
|
QUANTILE_RANGES: tuple[float, float, float] = (0.682, 0.954, 0.997)
|
|
503
772
|
"""Default quantile ranges for the Quantile Plotter.
|
|
504
773
|
|
|
@@ -528,51 +797,91 @@ class _Default_:
|
|
|
528
797
|
return marker
|
|
529
798
|
|
|
530
799
|
DEFAULT = _Default_()
|
|
800
|
+
"""Default values used throughout the DaSPi library, e.g. confidence
|
|
801
|
+
level, sequence lengths for kernel density estimation and LOWESS, and
|
|
802
|
+
quantile ranges."""
|
|
531
803
|
|
|
532
804
|
|
|
533
805
|
@dataclass(frozen=True)
|
|
534
806
|
class _Anova_:
|
|
807
|
+
"""Column and row names used when building ANOVA, VIF, Gage R&R and
|
|
808
|
+
uncertainty tables throughout the DaSPi library.
|
|
809
|
+
|
|
810
|
+
Don't instantiate this class directly. Use the `ANOVA` constant
|
|
811
|
+
instead."""
|
|
535
812
|
|
|
536
813
|
SEP: Literal[':'] = ':'
|
|
537
|
-
"""
|
|
814
|
+
"""Separator joining the names of interacting factors into a single
|
|
815
|
+
column name, e.g. 'A:B' for the interaction between factors 'A' and
|
|
816
|
+
'B'."""
|
|
817
|
+
|
|
538
818
|
INTERCEPT: str = INTERCEPT.name()
|
|
539
|
-
"""Column name for intercept
|
|
819
|
+
"""Column name used by patsy for the intercept term of a linear
|
|
820
|
+
model."""
|
|
821
|
+
|
|
540
822
|
EFFECTS: Literal['effects'] = 'effects'
|
|
541
|
-
"""
|
|
823
|
+
"""Default column name for the effect names (factors and their
|
|
824
|
+
interactions) in a model's results."""
|
|
825
|
+
|
|
542
826
|
TARGET: Literal['target'] = 'target'
|
|
543
|
-
"""
|
|
827
|
+
"""Default column name for the target (measured) values used in
|
|
828
|
+
`GageStudyModel`."""
|
|
829
|
+
|
|
544
830
|
FACTORS: Literal['factors'] = 'factors'
|
|
545
|
-
"""
|
|
831
|
+
"""Default column name for the factor values used when building a
|
|
832
|
+
design matrix."""
|
|
833
|
+
|
|
546
834
|
REFERENCE: Literal['reference'] = 'reference'
|
|
547
|
-
"""
|
|
835
|
+
"""Default column name for the reference (true or nominal) values
|
|
836
|
+
used in `GageStudyModel`."""
|
|
837
|
+
|
|
548
838
|
SOURCE: Literal['Source'] = 'Source'
|
|
549
|
-
"""
|
|
839
|
+
"""Default column name for the source of variation (e.g. factor or
|
|
840
|
+
residual name) in an ANOVA table."""
|
|
841
|
+
|
|
550
842
|
VIF: Literal['VIF'] = 'VIF'
|
|
551
|
-
"""
|
|
843
|
+
"""Default column name for the Variance Inflation Factor values used
|
|
844
|
+
to detect multicollinearity in an ANOVA table."""
|
|
845
|
+
|
|
552
846
|
SMALLEST_INTERACTION_ORDER: int = 2
|
|
553
|
-
"""Smallest possible interaction
|
|
847
|
+
"""Smallest possible interaction order, i.e. the interaction between
|
|
848
|
+
two factors (A:B)."""
|
|
849
|
+
|
|
554
850
|
RESIDUAL: Literal['Residual'] = 'Residual'
|
|
555
851
|
"""Name in anova table for residual (not explained) values."""
|
|
852
|
+
|
|
556
853
|
OBSERVATION: Literal['Observation'] = 'Observation'
|
|
557
854
|
"""Name in residual table for observation order."""
|
|
855
|
+
|
|
558
856
|
PREDICTION: Literal['Prediction'] = 'Prediction'
|
|
559
857
|
"""Name in residual table for predicted values."""
|
|
858
|
+
|
|
560
859
|
TOTAL: Literal['Total'] = 'Total'
|
|
561
860
|
"""Name in anova table for total (sum of the others) values."""
|
|
861
|
+
|
|
562
862
|
PV: Literal['PV'] = 'PV'
|
|
563
|
-
"""Name in
|
|
863
|
+
"""Name in Gage R&R table for Part Variation, i.e. the variation
|
|
864
|
+
coming from differences between the measured parts."""
|
|
865
|
+
|
|
564
866
|
EV: Literal['EV'] = 'EV'
|
|
565
|
-
"""Name in
|
|
566
|
-
|
|
867
|
+
"""Name in Gage R&R table for Equipment Variation (repeatability),
|
|
868
|
+
i.e. the variation coming from the measurement equipment itself."""
|
|
869
|
+
|
|
567
870
|
AV: Literal['AV'] = 'AV'
|
|
568
|
-
"""Name in
|
|
569
|
-
|
|
871
|
+
"""Name in Gage R&R table for Appraiser Variation (reproducibility),
|
|
872
|
+
i.e. the variation coming from different appraisers/operators."""
|
|
873
|
+
|
|
570
874
|
GV: Literal['GV'] = 'GV'
|
|
571
|
-
"""Name in
|
|
875
|
+
"""Name in Gage R&R table for Gage Variation, i.e. the combination of
|
|
876
|
+
`EV` and `AV`."""
|
|
877
|
+
|
|
572
878
|
IA: Literal['IA'] = 'IA'
|
|
573
|
-
"""Name in R&R table for interaction
|
|
879
|
+
"""Name in R&R table for the interaction between appraiser and part
|
|
880
|
+
values."""
|
|
881
|
+
|
|
574
882
|
RNR: Literal['R&R'] = 'R&R'
|
|
575
|
-
"""Name in
|
|
883
|
+
"""Name in R&R table for the total Gage R&R value, i.e. the sum of
|
|
884
|
+
`GV` and `PV`."""
|
|
576
885
|
|
|
577
886
|
@property
|
|
578
887
|
def TABLE_COLNAMES(self) -> list[str]:
|
|
@@ -627,7 +936,10 @@ class _Anova_:
|
|
|
627
936
|
"""Column names when crating the reference analysis table using
|
|
628
937
|
the `reference_analysis` method of GageRnRModel."""
|
|
629
938
|
return ['Ref', 'mean', 'Bias', 's', 'R']
|
|
939
|
+
|
|
630
940
|
ANOVA = _Anova_()
|
|
941
|
+
"""Column and row names used when building ANOVA, VIF, Gage R&R and
|
|
942
|
+
uncertainty tables throughout the DaSPi library."""
|
|
631
943
|
|
|
632
944
|
|
|
633
945
|
@dataclass(frozen=True)
|
|
@@ -636,14 +948,22 @@ class _DOE_:
|
|
|
636
948
|
|
|
637
949
|
STD_ORDER: Literal['std_order'] = 'std_order'
|
|
638
950
|
"""Name for standard order in the design space."""
|
|
951
|
+
|
|
639
952
|
RUN_ORDER: Literal['run_order'] = 'run_order'
|
|
640
953
|
"""Name for run order in the design space."""
|
|
954
|
+
|
|
641
955
|
CENTRAL_POINT: Literal['central_point'] = 'central_point'
|
|
642
956
|
"""Name for central points in the design space."""
|
|
957
|
+
|
|
643
958
|
BLOCK: Literal['block'] = 'block'
|
|
644
959
|
"""Name for block in the design space."""
|
|
960
|
+
|
|
645
961
|
REPLICA: Literal['replica'] = 'replica'
|
|
646
962
|
"""Name for replicate in the design space."""
|
|
963
|
+
|
|
647
964
|
CORRECTED_CENTRAL: int = 0
|
|
648
965
|
"""Coded value for central points in the design space."""
|
|
966
|
+
|
|
649
967
|
DOE = _DOE_()
|
|
968
|
+
"""Design of Experiments (DOE) constants used for column names and
|
|
969
|
+
coded values in the design space."""
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "DaSPi"
|
|
3
|
-
version = "2.3.
|
|
3
|
+
version = "2.3.2"
|
|
4
4
|
description = "Visualize and analyze your data with DaSPi. This package is designed for users who want to find relevant influencing factors in processes and validate improvements."
|
|
5
5
|
authors = [
|
|
6
6
|
{ name = "Reto Jäggli", email = "reto@jaeggli.email" },
|
|
File without changes
|