Skip to main content

A toolkit for visualizations in materials informatics

Project description

pymatviz

A toolkit for visualizations in materials informatics.

Tests pre-commit.ci status This project supports Python 3.8+ PyPI PyPI Downloads

Note: This project is not associated with or endorsed by pymatgen, but aims to complement it by adding additional plotting functionality.

Installation

pip install pymatviz

Usage

Check out the Jupyter notebooks under examples/ to learn how to use pymatviz.

Elements

See pymatviz/elements.py. Heat maps of the periodic table can be plotted both with matplotlib and plotly. Latter supports displaying additional data on hover or full interactivity through Dash.

ptable_heatmap(compositions, log=True) ptable_heatmap_ratio(comps_a, comps_b)
ptable_heatmap ptable_heatmap_ratio
ptable_heatmap_plotly(atomic_masses) ptable_heatmap_plotly(compositions)
ptable_heatmap_plotly_more_hover_data ptable_heatmap_plotly_percent_labels

Sunburst

See pymatviz/sunburst.py.

spacegroup_sunburst([65, 134, 225, ...]) spacegroup_sunburst(["C2/m", "P-43m", "Fm-3m", ...])
spg_num_sunburst spg_symbol_sunburst

Structure

See pymatviz/struct_vis.py.

plot_structure_2d(pmg_struct) plot_structure_2d(pmg_struct, show_unit_cell=False, site_labels=False)
struct-2d-mp-19017-disordered struct-2d-mp-12712

mp-structures-2d

Histograms

See pymatviz/histograms.py.

spacegroup_hist([65, 134, 225, ...]) spacegroup_hist(["C2/m", "P-43m", "Fm-3m", ...])
spg_num_hist spg_symbol_hist
residual_hist(y_true, y_pred) hist_elemental_prevalence(compositions, log=True, bar_values='count')
residual_hist hist_elemental_prevalence

Parity Plots

See pymatviz/parity.py.

density_scatter(xs, ys, ...) density_scatter_with_hist(xs, ys, ...)
density_scatter density_scatter_with_hist
density_hexbin(xs, ys, ...) density_hexbin_with_hist(xs, ys, ...)
density_hexbin density_hexbin_with_hist
scatter_with_err_bar(xs, ys, yerr, ...) residual_vs_actual(y_true, y_pred, ...)
scatter_with_err_bar residual_vs_actual

Uncertainty Calibration

See pymatviz/quantile.py.

qq_gaussian(y_true, y_pred, y_std) qq_gaussian(y_true, y_pred, y_std: dict)
normal_prob_plot normal_prob_plot_multiple

Ranking

See pymatviz/ranking.py.

err_decay(y_true, y_pred, y_std) err_decay(y_true, y_pred, y_std: dict)
err_decay err_decay_multiple

Cumulative Error and Residual

See pymatviz/cumulative.py.

cum_err(preds, targets) cum_res(preds, targets)
cumulative_error cumulative_residual

Classification Metrics

See pymatviz/relevance.py.

roc_curve(targets, proba_pos) precision_recall_curve(targets, proba_pos)
roc_curve precision_recall_curve

Correlation

See pymatviz/correlation.py.

marchenko_pastur(corr_mat, gamma=ncols/nrows) marchenko_pastur(corr_mat_significant_eval, gamma=ncols/nrows)
marchenko_pastur marchenko_pastur_significant_eval

Glossary

  1. Residual y_res = y_true - y_pred: The difference between ground truth target and model prediction.
  2. Error y_err = abs(y_true - y_pred): Absolute error between target and model prediction.
  3. Uncertainty y_std: The model's estimate for its error, i.e. how much the model thinks its prediction can be trusted. (std for standard deviation.)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pymatviz-0.4.2.tar.gz (37.1 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page