If you use
pymatviz
in your research, see how to cite. Check out 23 existing papers usingpymatviz
for inspiration!
pip install pymatviz
Available extras include:
pip install 'pymatviz[pdf-export]' # save figures to PDF
pip install 'pymatviz[brillouin]' # render 3d Brillouin zones
See the /api page.
See the Jupyter notebooks under examples/
for how to use pymatviz
. PRs with additional examples are welcome! 🙏
See pymatviz/ptable/ptable_plotly.py
. The module supports heatmaps, heatmap splits (multiple values per element), histograms, scatter plots and line plots. All visualizations are interactive through Plotly and support displaying additional data on hover.
Warning
Version 0.16.0 of pymatviz
dropped the matplotlib-based functions in ptable_matplotlib.py
in #270. Please use the plotly
-based functions shown below instead which have feature parity, interactivity and better test coverage.
See examples/mprester_ptable.ipynb
.
2022-07-28-ptable_heatmap_plotly-dash-example.mp4
See examples/mlff_phonons.ipynb
for usage example.
phonon_bands(bands_dict) |
phonon_dos(doses_dict) |
---|---|
phonon_bands_and_dos(bands_dict, doses_dict) |
phonon_bands_and_dos(single_bands, single_dos) |
See pymatviz/structure_viz/plotly.py
.
structure_3d_plotly(hea_structure) |
structure_3d_plotly(lco_supercell) |
---|---|
structure_2d_plotly(six_structs) |
structure_3d_plotly(six_structs) |
brillouin_zone_3d(cubic_struct) |
brillouin_zone_3d(hexagonal_struct) |
---|---|
brillouin_zone_3d(monoclinic_struct) |
brillouin_zone_3d(orthorhombic_struct) |
See pymatviz/xrd.py
.
xrd_pattern(pattern) |
xrd_pattern({key1: patt1, key2: patt2}) |
---|---|
xrd_pattern(struct_dict, stack="horizontal") |
xrd_pattern(struct_dict, stack="vertical") |
element_pair_rdfs(pmg_struct) |
element_pair_rdfs({"A": struct1, "B": struct2}) |
---|---|
See pymatviz/coordination/plotly.py
.
coordination_hist(struct_dict) |
coordination_hist(struct_dict, by_element=True) |
---|---|
coordination_vs_cutoff_line(struct_dict, strategy=None) |
coordination_vs_cutoff_line(struct_dict, strategy=None) |
See pymatviz/sunburst.py
.
spacegroup_sunburst([65, 134, 225, ...]) |
chem_sys_sunburst(["FeO", "Fe2O3", "LiPO4", ...]) |
---|---|
See pymatviz/treemap.py
.
chem_sys_treemap(["FeO", "Fe2O3", "LiPO4", ...]) |
chem_sys_treemap(["FeO", "Fe2O3", "LiPO4", ...], group_by="formula") |
---|---|
rainclouds(two_key_dict) |
rainclouds(three_key_dict) |
---|---|
See pymatviz/sankey.py
.
sankey_from_2_df_cols(df_perovskites) |
sankey_from_2_df_cols(df_space_groups) |
---|---|
See pymatviz/bar.py
.
spacegroup_bar([65, 134, 225, ...], backend="plotly") |
spacegroup_bar(["C2/m", "P-43m", "Fm-3m", ...], backend="plotly") |
---|---|
elements_hist(compositions, log=True, bar_values='count') |
histogram({'key1': values1, 'key2': values2}) |
---|---|
See pymatviz/scatter.py
.
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) |
See pymatviz/classify/confusion_matrix.py
.
confusion_matrix(conf_mat, ...) |
confusion_matrix(y_true, y_pred, ...) |
---|---|
See pymatviz/classify/curves.py
.
roc_curve_plotly(targets, probs_positive) |
precision_recall_curve_plotly(targets, probs_positive) |
---|---|
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 Yang, Haoyu 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.2}, % replace with the version you use
}
Sorted by number of citations, then year. Last updated 2025-03-25. Auto-generated from Google Scholar. Manual additions via PR welcome.
- C Zeni, R Pinsler, D Zügner et al. (2023). Mattergen: a generative model for inorganic materials design (cited by 123)
- J Riebesell, REA Goodall, P Benner et al. (2023). Matbench Discovery--A framework to evaluate machine learning crystal stability predictions (cited by 45)
- C Chen, DT Nguyen, SJ Lee et al. (2024). Accelerating computational materials discovery with machine learning and cloud high-performance computing: from large-scale screening to experimental validation (cited by 36)
- L Barroso-Luque, M Shuaibi, X Fu et al. (2024). Open materials 2024 (omat24) inorganic materials dataset and models (cited by 31)
- M Giantomassi, G Materzanini (2024). Systematic assessment of various universal machine‐learning interatomic potentials (cited by 15)
- AA Naik, C Ertural, P Benner et al. (2023). A quantum-chemical bonding database for solid-state materials (cited by 12)
- K Li, AN Rubungo, X Lei et al. (2025). Probing out-of-distribution generalization in machine learning for materials (cited by 8)
- N Tuchinda, CA Schuh (2025). Grain Boundary Segregation and Embrittlement of Aluminum Binary Alloys from First Principles (cited by 2)
- A Onwuli, KT Butler, A Walsh (2024). Ionic species representations for materials informatics (cited by 2)
- A Kapeliukha, RA Mayo (2025). MOSAEC-DB: a comprehensive database of experimental metal–organic frameworks with verified chemical accuracy suitable for molecular simulations (cited by 1)
- Aaron D. Kaplan, Runze Liu, Ji Qi et al. (2025). A Foundational Potential Energy Surface Dataset for Materials
- Fei Shuang, Zixiong Wei, Kai Liu et al. (2025). Universal machine learning interatomic potentials poised to supplant DFT in modeling general defects in metals and random alloys
- Yingheng Tang, Wenbin Xu, Jie Cao et al. (2025). MatterChat: A Multi-Modal LLM for Material Science
- Liming Wu, Wenbing Huang, Rui Jiao et al. (2025). Siamese Foundation Models for Crystal Structure Prediction
- A Peng, MY Guo (2025). The OpenLAM Challenges
- F Therrien, JA Haibeh (2025). OBELiX: A Curated Dataset of Crystal Structures and Experimentally Measured Ionic Conductivities for Lithium Solid-State Electrolytes
- N Tuchinda, CA Schuh (2025). A Grain Boundary Embrittlement Genome for Substitutional Cubic Alloys
- K Yan, M Bohde, A Kryvenko (2025). A Materials Foundation Model via Hybrid Invariant-Equivariant Architectures
- Daniel W. Davies, Keith T. Butler, Adam J. Jackson et al. (2024). SMACT: Semiconducting Materials by Analogy and Chemical Theory
- Hui Zheng, Eric Sivonxay, Rasmus Christensen et al. (2024). The ab initio non-crystalline structure database: empowering machine learning to decode diffusivity
- HH Li, Q Chen, G Ceder (2024). Voltage Mining for (De) lithiation-Stabilized Cathodes and a Machine Learning Model for Li-Ion Cathode Voltage
- Janosh Riebesell, Ilyes Batatia, Philipp Benner et al. (2023). A foundation model for atomistic materials chemistry
- Jack Douglas Sundberg (2022). A New Framework for Material Informatics and Its Application Toward Electride-Halide Material Systems