If you use
pymatviz
in your research, see how to cite. Check out 23 existing papers usingpymatviz
for inspiration!
See pyproject.toml
for available extras like pip install 'pymatviz[brillouin]'
to 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/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.
ptable_heatmap_plotly()
See examples/mprester_ptable.ipynb
.
Visualize 2D or 3D relationships between compositions and properties using multiple embedding and dimensionality reduction techniques:
Embedding methods: One-hot encoding of element fractions, Magpie features (elemental properties), Matscholar element embeddings, MEGNet element embeddings
Dimensionality reduction methods: PCA (linear), t-SNE (non-linear), UMAP (non-linear), Isomap (non-linear), Kernel PCA (non-linear)
Example usage:
import pymatviz as pmv from pymatgen.core import Composition compositions = ("Fe2O3", "Al2O3", "SiO2", "TiO2") # Create embeddings embeddings = pmv.cluster.composition.one_hot_encode(compositions) comp_emb_map = dict(zip(compositions, embeddings, strict=True)) # Plot with optional property coloring fig = pmv.cluster_compositions( compositions=comp_emb_map, properties=[1.0, 2.0, 3.0, 4.0], # Optional property values prop_name="Property", # Optional property label embedding_method="one-hot", # or "magpie", "matscholar_el", "megnet_el", etc. projection_method="pca", # or "tsne", "umap", "isomap", "kernel_pca", etc. show_chem_sys="shape", # works best for small number of compositions; "color" | "shape" | "color+shape" | None n_components=2, # or 3 for 3D plots ) fig.show()
On the roadmap but no ETA yet.
See pymatviz/structure/plotly.py
.
See pymatviz/xrd.py
.
See pymatviz/coordination/plotly.py
.
See pymatviz/sunburst.py
.
See pymatviz/treemap/chem_sys.py
.
chem_sys_treemap(["FeO", "Fe2O3", "LiPO4", ...])
chem_sys_treemap(["FeO", "Fe2O3", "LiPO4", ...], group_by="formula")
chem_env_treemap(structures)
chem_env_treemap(structures, max_cells_cn=3, max_cells_ce=4)
py_pkg_treemap("pymatviz")
py_pkg_treemap(["pymatviz", "torch_sim", "pymatgen"])
See pymatviz/sankey.py
.
See pymatviz/bar.py
.
See pymatviz/scatter.py
.
density_scatter_plotly(df, x=x_col, y=y_col, ...)
density_scatter_plotly(df, x=x_col, y=y_col, ...)
density_scatter(xs, ys, ...)
density_scatter_with_hist(xs, ys, ...)
density_hexbin(xs, ys, ...)
density_hexbin_with_hist(xs, ys, ...)
See pymatviz/classify/confusion_matrix.py
.
See pymatviz/classify/curves.py
.
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-05-07. Auto-generated from Google Scholar. Manual additions via PR welcome.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4