A toolkit for visualizations in materials informatics
Project description
pymatviz
A toolkit for visualizations in materials informatics.
If you use
pymatviz
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! 🙏
Periodic Table
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.
Dash app using ptable_heatmap_plotly()
See examples/mprester_ptable.ipynb
.
Phonons
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) |
Structure
See pymatviz/structure_viz/(mpl|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) |
X-Ray Diffraction
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", title="Custom Title") |
Radial Distribution Functions
rdf_plot(rdf) |
rdf_plot(rdf, rdf2) |
---|---|
Coordination
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) |
Sunburst
See pymatviz/sunburst.py
.
spacegroup_sunburst([65, 134, 225, ...]) |
spacegroup_sunburst(["C2/m", "P-43m", "Fm-3m", ...]) |
---|---|
Rainclouds
rainclouds(two_key_dict) |
rainclouds(three_key_dict) |
---|---|
Sankey
See pymatviz/sankey.py
.
sankey_from_2_df_cols(df_perovskites) |
sankey_from_2_df_cols(df_space_groups) |
---|---|
Histograms
Scatter Plots
See pymatviz/scatter.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) |
---|---|
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 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
}
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pymatviz-0.14.0.tar.gz
.
File metadata
- Download URL: pymatviz-0.14.0.tar.gz
- Upload date:
- Size: 165.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b3a5b77b2a256e148fc5c81cf5a5ba8807713e34cf1572f0bf20efc7254e38e2 |
|
MD5 | 97018609a468ae00a3bbfdf6eb3ce8f4 |
|
BLAKE2b-256 | 17231d19e6c291beee57c6748911aa43a38855d00f60141163eafde0c381b60c |
Provenance
The following attestation bundles were made for pymatviz-0.14.0.tar.gz
:
Publisher:
release.yml
on janosh/pymatviz
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pymatviz-0.14.0.tar.gz
- Subject digest:
b3a5b77b2a256e148fc5c81cf5a5ba8807713e34cf1572f0bf20efc7254e38e2
- Sigstore transparency entry: 150529487
- Sigstore integration time:
- Predicate type:
File details
Details for the file pymatviz-0.14.0-py3-none-any.whl
.
File metadata
- Download URL: pymatviz-0.14.0-py3-none-any.whl
- Upload date:
- Size: 155.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/5.1.1 CPython/3.12.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 11fd26c6c3e48f69109aed355c92fd7332b8ea01d1ae3ff104787cf2a9cd1948 |
|
MD5 | 9eed246e93efc2689488aa19e57e6f73 |
|
BLAKE2b-256 | 347d19b98443f2e0f439e48881604e179fa80bb07ea9a898ba6d2af945b5f2e9 |
Provenance
The following attestation bundles were made for pymatviz-0.14.0-py3-none-any.whl
:
Publisher:
release.yml
on janosh/pymatviz
-
Statement type:
https://in-toto.io/Statement/v1
- Predicate type:
https://docs.pypi.org/attestations/publish/v1
- Subject name:
pymatviz-0.14.0-py3-none-any.whl
- Subject digest:
11fd26c6c3e48f69109aed355c92fd7332b8ea01d1ae3ff104787cf2a9cd1948
- Sigstore transparency entry: 150529490
- Sigstore integration time:
- Predicate type: