If you use
pymatviz
in your research, see how to cite.
pip install pymatviz
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_matplotlib.py
and pymatviz/ptable/ptable_plotly.py
. matplotlib
supports heatmaps, heatmap ratios, heatmap splits (multiple values per element), histograms, scatter plots and line plots. plotly
currently only supports heatmaps (PRs to port over other matplotlib
ptable
variants to plotly
are very welcome!). The plotly
heatmap supports displaying additional data on hover or full interactivity through Dash.
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
. Currently structure plotting is only supported with matplotlib
in 2d. 3d interactive plots (probably with plotly
) are on the road map.
structure_2d(mp_19017) |
structure_2d(mp_12712) |
---|---|
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, ...]) |
spacegroup_sunburst(["C2/m", "P-43m", "Fm-3m", ...]) |
---|---|
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
.
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
}