janosh/pymatviz

A toolkit for visualizations in materials informatics.

What it solves

pymatviz provides a specialized toolkit for visualizing materials science data. It addresses the need for researchers to easily generate high-quality, interactive plots for complex chemical and structural data, such as periodic table heatmaps, phonon band structures, and crystal structure visualizations.

How it works

Built on top of libraries like Plotly and pymatgen, the project offers a collection of Python functions that accept standard materials science data structures (like Structure or Composition objects) and return interactive, publication-ready figures. It also includes anywidget-powered interactive widgets that allow users to explore structures, trajectories, and compositions directly within Jupyter, Marimo, or VSCode environments.

Who it’s for

This tool is designed for materials scientists, computational chemists, and researchers working in materials informatics who need to perform exploratory data analysis (EDA) or visualize results from high-throughput materials simulations.

Highlights

  • Interactive Periodic Table: Create heatmaps, histograms, and scatter plots mapped to the periodic table.
  • Structural Visualization: Built-in support for rendering 3D crystal structures, Brillouin zones, and X-ray diffraction (XRD) patterns.
  • Notebook Integration: Provides interactive widgets for Jupyter, Marimo, and VSCode that support pan, zoom, and rotation.
  • Headless Export: Includes utilities to export interactive widgets to static images (PNG/SVG/PDF) or HTML for use in CI/CD pipelines or automated reports.
  • Clustering Support: Tools to visualize composition relationships using dimensionality reduction techniques like PCA, t-SNE, and UMAP.

Related

  • Project
  • Project
  • Project
  • Project
  • Project