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

Sankey

See pymatviz/sankey.py.

sankey_from_2_df_cols(df_perovskites) sankey_from_2_df_cols(df_rand_ints)
sankey-spglib-vs-aflow-spacegroups sankey-from-2-df-cols-randints

Structure

See pymatviz/struct_viz.py. Currently structure plotting is only supported with matplotlib in 2d. 3d interactive plots (probably with plotly) are on the road map.

plot_structure_2d(mp_19017) plot_structure_2d(mp_12712)
struct-2d-mp-19017-Li4Fe3P4CO16-disordered struct-2d-mp-12712-Hf3Zr3Pd8-disordered

matbench-phonons-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.)

Usage on Colab

For the time being, Google Colab only supports Python 3.7. pymatviz uses Python 3.8 features like self-documenting f-strings. You may still be able to use pymatviz on Colab by cloning the repo and patching the source code in place as shown here.

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.4.tar.gz (41.7 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