pymatviz
A toolkit for visualizations in materials informatics.
If you usepymatviz
in your research,
see how to cite. Installation
pip install pymatviz
API Docs
See the /api page.
Usage
See the Jupyter notebooks under examples/
for how to use pymatviz
. PRs with additional examples are welcome! 🙏
matbench_dielectric_eda.ipynb | ||
mp_bimodal_e_form.ipynb | ||
matbench_perovskites_eda.ipynb | ||
mprester_ptable.ipynb |
Periodic Table
See pymatviz/ptable.py
. Heatmaps of the periodic table can be plotted both with matplotlib
and plotly
. plotly
supports displaying additional data on hover or full interactivity through Dash.
Phonons
See pymatviz/phonons.py
.
plot_phonon_bands(bands_dict) | plot_phonon_dos(doses_dict) |
---|---|
plot_phonon_bands_and_dos(bands_dict, doses_dict) | plot_phonon_bands_and_dos(single_bands, single_dos) |
Dash app using ptable_heatmap_plotly()
See examples/mprester_ptable.ipynb
.
Sunburst
See pymatviz/sunburst.py
.
spacegroup_sunburst([65, 134, 225, ...]) | spacegroup_sunburst(["C2/m", "P-43m", "Fm-3m", ...]) |
---|---|
Sankey
See pymatviz/sankey.py
.
sankey_from_2_df_cols(df_perovskites) | sankey_from_2_df_cols(df_rand_ints) |
---|---|
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) |
---|---|
Histograms
Parity Plots
See pymatviz/parity.py
.
Uncertainty
qq_gaussian(y_true, y_pred, y_std) | qq_gaussian(y_true, y_pred, y_std: dict) |
---|---|
error_decay_with_uncert(y_true, y_pred, y_std) | error_decay_with_uncert(y_true, y_pred, y_std: dict) |
Cumulative Metrics
cumulative_error(preds, targets) | cumulative_residual(preds, targets) |
---|---|
Classification
roc_curve(targets, proba_pos) | precision_recall_curve(targets, proba_pos) |
---|---|
Correlation
marchenko_pastur(corr_mat, gamma=ncols/nrows) | marchenko_pastur(corr_mat_significant_eval, gamma=ncols/nrows) |
---|---|
How to cite pymatviz
See citation.cff
or cite the Zenodo record using the following BibTeX entry:
@software{riebesell_pymatviz_2022,
title = {Pymatviz: visualization toolkit for materials informatics},
author = {Riebesell, Janosh and Goodall, Rhys and Baird, Sterling G.},
date = {2022-10-01},
year = {2022},
doi = {10.5281/zenodo.7486816},
url = {https://github.com/janosh/pymatviz},
note = {10.5281/zenodo.7486816 - https://github.com/janosh/pymatviz},
urldate = {2023-01-01}, % optional, replace with your date of access
version = {0.8.1}, % replace with the version you use
}