Skip to main content

A toolkit for visualizations in materials informatics

Project description

Logo
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 with additional plotting functionality.

Installation

pip install pymatviz

API Docs

See the /api page.

Usage

See the Jupyter notebooks under examples/ for how to use pymatviz.

matbench_dielectric_eda.ipynb Launch Codespace Binder Open in Google Colab
mp_bimodal_e_form.ipynb Launch Codespace Binder Open in Google Colab
matbench_perovskites_eda.ipynb Launch Codespace Binder Open in Google Colab
mprester_ptable.ipynb Launch Codespace Binder Open in Google Colab

Periodic Table

See pymatviz/ptable.py. Heat maps of the periodic table can be plotted both with matplotlib and plotly. plotly 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, log=True)
ptable-heatmap-plotly-more-hover-data ptable-heatmap-plotly-log

Dash app using ptable_heatmap_plotly()

See examples/mprester_ptable.ipynb.

https://user-images.githubusercontent.com/30958850/181644052-b330f0a2-70fc-451c-8230-20d45d3af72f.mp4

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/structure_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-Li4Mn0.8Fe1.6P4C1.6O16-disordered struct-2d-mp-12712-Hf9Zr9Pd24-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 & Estimation

See pymatviz/uncertainty.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
error_decay_with_uncert(y_true, y_pred, y_std) error_decay_with_uncert(y_true, y_pred, y_std: dict)
error-decay-with-uncert error-decay-with-uncert-multiple

Cumulative Error and Residual

See pymatviz/cumulative.py.

cumulative_error(preds, targets) cumulative_residual(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.6.0.tar.gz (54.7 kB view details)

Uploaded Source

File details

Details for the file pymatviz-0.6.0.tar.gz.

File metadata

  • Download URL: pymatviz-0.6.0.tar.gz
  • Upload date:
  • Size: 54.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.0

File hashes

Hashes for pymatviz-0.6.0.tar.gz
Algorithm Hash digest
SHA256 c51f742bc8e5b4401b7e5c24b302199323ca2ec76ff72d6c446fccd695ce5289
MD5 c9ebf631e2dedc342a9b28893c071c3c
BLAKE2b-256 22dbf44755fb7dd5d78c29ce95f75afd0836ada12102ea0fda531bed995b401f

See more details on using hashes here.

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