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

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 & 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.2.tar.gz (57.6 kB view details)

Uploaded Source

Built Distribution

pymatviz-0.6.2-py2.py3-none-any.whl (50.7 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

  • Download URL: pymatviz-0.6.2.tar.gz
  • Upload date:
  • Size: 57.6 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.2.tar.gz
Algorithm Hash digest
SHA256 3be8722a4bbfcbdb9505f52eb621959ac728d1818d4b1bd1e28548cff44979e5
MD5 1ec3f10877ba2e0fcd06254a50434852
BLAKE2b-256 d587c97e6804021961a0161ff0541622ee756371f9e9b7aebc8ef88196ddbb32

See more details on using hashes here.

File details

Details for the file pymatviz-0.6.2-py2.py3-none-any.whl.

File metadata

  • Download URL: pymatviz-0.6.2-py2.py3-none-any.whl
  • Upload date:
  • Size: 50.7 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pymatviz-0.6.2-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 c9881f7b1e123736913cf44b0f666d0deec532120de38490ba5b6de429d36c22
MD5 aeb6e0d2d4e08c2216261c2c8627dce9
BLAKE2b-256 a5601dbef6c868894a22467c4daa51178e12f35d9d227db444ac3212b0d22319

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