Releases: janosh/pymatviz
Releases · janosh/pymatviz
v0.17.2
What's Changed
🛠 Enhancements
🐛 Bug Fixes
🏷️ Type Hints
- Replace
mypy
withty
inpre-commit
by @DanielYang59 in #314
Full Changelog: v0.17.1...v0.17.2
v0.17.1
v0.17.0
What's Changed
💥 Breaking Changes
- Add
cell_size_fn: Callable[[ModuleStats], float]
keyword topy_pkg_treemap
by @janosh in #293 - Support disordered site rendering in
structure_(2|3)d_plotly()
by @janosh in #301 - Remove
residual_vs_actual()
by @janosh in #302 chem_env_treemap
by @janosh in #303- Drop
matplotlib
dependency, refactor few remainingmatplotlib
functions toplotly
by @janosh in #305 - MatterViz widgets by @janosh in #311
🎉 New Features
🛠 Enhancements
cluster_compositions
addannotate_points
keyword by @janosh in #291- Add element color legend to plotly 2d and 3d structure visualizations by @janosh in #298
- Auto-render pymatgen/ASE objects when returned from notebook cells by @janosh in #299
structure_(2|3)d_plotly
addcell_boundary_tol: float | dict[str, float]
by @janosh in #300
🐛 Bug Fixes
- Fix plotly validators by @bmaranville in #310
🧹 House-Keeping
- Rename
structure_(2|3)d_plotly
tostructure_(2|3)d
by @janosh in #304 - Update
pytest-split
durations by @janosh in #306
New Contributors
- @bmaranville made their first contribution in #310
Full Changelog: v0.16.0...v0.17.0
v0.16.0
What's Changed
- Add
py-pkg-treemap()
#290
- Add
color_scale
param to allow for linear, logarithmic, arcsinh scaling of property values incluster_compositions
#288
- refactor cluster_compositions to take DataFrame as 1st arg, not composition list
#287
- Test example scripts with
uv run
in CI#286
- New
cluster
module with functions for embedding, projecting and scattering compositions#285
- spacegroup_sunburst and chem_sys_sunburst: add keywords max_slices and max_slices_mode: other | none
#284
- Multi-trace
plotly
powerups#283
brillouin_zone_3d
now supports multiple structures/atoms in customizable grid layouts#282
- Add
max_cells: int | None
keyword tochem_sys_treemap
#281
structure_(2|3)d_plotly
enable gradient-colored bonds#280
- Auto font color for high contrast of element symbols in
ptable_heatmap_splits_plotly
#279
- Update
luminance
calculation to use WCAG 2.0 standard coefficients#278
- Fix
structure_2d_plotly
rotation
keyword not applying to unit cell#276
spglib
tomoyo
#275
- fix bond drawing in structure_3d_plotly with better image atom handling
#274
- Use SI suffix number format in ptable colorbar tick labels
#273
- fix error in docstring
#271
- Remove
matplotlib
-based periodic table plotting functions#270
- Ward metallic glasses train/val/test splits
#269
- Codecov
#268
- Support per-split colorbars and colorscales in
ptable_heatmap_splits_plotly()
#267
- add
enhance_parity_plot()
powerup#266
- add treemap.py with new chem_sys_treemap plot function
#265
- add chem_sys_sunburst() to pymatviz/sunburst.py to visualize chemical system distributions
#264
- test metallic glass feature engineering and model evaluation
f0c5174
- better colorbar tick formatting and spacing in density_scatter_plotly
d1d51b4
- RDF plotting hide legend for single structure
dc8a1a2
- fix confusion_matrix() mismatch of false-positive/negative counts and heatmap color
ae5b629
contrast_ratio()
inpymatviz/utils/plotting.py
to calculate color contrast according to WCAG 2.0b7c30cf
- Add script to fetch and update papers citing pymatviz (#277)
6a2b831
- add examples/mlip_phonons.py
608a12f
- clean up examples/diatomics/calc_mlip_diatomic_curves.py and support multiple ML models
d6fe3d9
- add examples/compare_elastic_constants.py testing MACE vs MP PBE
2861298
- Refactor ROC and PR curve no-skill line plotting
6d68cc1
readme.md
add links to source and example code for each plot function65ccb7c
- add assets/scripts/key_enum_table.py to visualize Key enum attributes with Plotly
0598bb5
- delete unused enums Model + ElemColorMode
ee296bc
- fix ptable_heatmap_splits_plotly() incorrectly handling hide_f_block keyword resulting in missing tiles for Rf 104 through Og 118
b9ccbf0
- force LabelEnums to have labels, gives .label type str causing less mypy headache
a6825ff
Full Changelog: v0.15.1...v0.16.0
v0.15.1
What's Changed
🛠 Enhancements
structure_(2|3)d_plotly
now support ASE Atoms and sequences of them by @janosh in #262- Remove hard-coded
gridsize
indensity_hexbin
by @jcwang587 in #263 - add molecular dynamics attributes to Key enum
4b55a40
- better Key.unit formatting: replace unicode sup/superscripts with <sup>/<sub>+ASCII
eb12217
🧹 Linting
- bump ruff to 0.9 and auto-fix
6989ba5
📖 Documentation
- calculate MACE-MPA-0 diatomic curves
4dc5f1e
New Contributors
- @jcwang587 made their first contribution in #263
Full Changelog: v0.15.0...v0.15.1
v0.15.0
What's Changed
💥 Breaking Changes
plotly
ROC and precision-recall curves by @janosh in #253- Delete
pymatviz/classify/curves_matplotlib.py
by @janosh in #254
🎉 New Features
- Add
pymatviz.classify.confusion_matrix
by @janosh in #252 - Add
brillouin_zone_3d
plot function by @janosh in #251 - Add
ptable_scatter_plotly
by @janosh in #258
🛠 Enhancements
- Add element color schemes
alloys
by @janosh in #255 - Support
phonopy
TotalDos
andBandStructure
inphonon_dos
andphonon_bands
plots by @janosh in #256 - Multi-line
ptable_scatter_plotly
by @janosh in #260
🐛 Bug Fixes
Full Changelog: v0.14.0...v0.15.0
v0.14.0
What's Changed
💥 Breaking Changes
- [Breaking] Split
utils
into sub-modules, movetyping
fromutils
to top-level (pmv.typing
) by @DanielYang59 in #248
🎉 New Features
🛠 Enhancements
- Better
ptable_hists_plotly
defaults by @janosh in #244 phonon_bands
enable custom acoustic/optical bands by @janosh in #249
📖 Documentation
- Split
make_assets
scripts by plot functions by @DanielYang59 in #247
🤷♂️ Other Changes
- Enhance warning message for default return type change of
ptable_heatmap
by @DanielYang59 in #240
Full Changelog: v0.13.2...v0.14.0
v0.13.2
What's Changed
💥 Breaking Changes
- Fix
ptable_heatmap_ratio
following change of defaultcount_elements
fill_value
to 0 by @DanielYang59 in #226
🧹 House-Keeping
🏥 Package Health
- Speedup import and add regression check for import time by @DanielYang59 in #238
Full Changelog: v0.13.1...v0.13.2
v0.13.1
Hot fix release for
ImportError: cannot import name 'SymmetryUndeterminedError' from 'pymatgen.symmetry.analyzer'
stacktrace
from pymatviz.enums import LabelEnum
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/pymatviz/__init__.py:22: in <module>
from pymatviz import (
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/pymatviz/structure_viz/__init__.py:5: in <module>
from pymatviz.structure_viz.mpl import structure_2d
/opt/hostedtoolcache/Python/3.12.7/x64/lib/python3.12/site-packages/pymatviz/structure_viz/mpl.py:22: in <module>
from pymatgen.symmetry.analyzer import SpacegroupAnalyzer, SymmetryUndeterminedError
Full Changelog: v0.13.0...v0.13.1
v0.13.0
What's Changed
💥 Breaking Changes
🎉 New Features
🛠 Enhancements
- Custom site hover texts in
pmv.structure_(2|3)d_plotly
by @janosh in #228 - Experimental: add
show_bonds: bool | NearNeighbors = False
tostructure_(2|3)d_plotly
by @janosh in #233 - Add
full_rdf
by @janosh in #234 - Add
coordination_vs_cutoff_line
plot function by @janosh in #236
🐛 Bug Fixes
🏥 Package Health
- Reuse optional dependency groups for single source of truth in
pyproject.toml
by @DanielYang59 in #231
Full Changelog: v0.12.0...v0.13.0