shnitsel.vis.plot¶
Submodules¶
Functions¶
|
Generates a biplot that visualizes PCA projections and kernel density estimates (KDE) |
|
|
|
Plot spectra for different times on top of each other, |
|
Represent fosc as colour in a plot of fosc against time and energy. |
Package Contents¶
- biplot_kde(frames, at1=0, at2=1, at3=None, at4=None, geo_filter=None, levels=None, scatter_color='time', fill=True, nbins=4, mean=False)¶
Generates a biplot that visualizes PCA projections and kernel density estimates (KDE) of a property (distance, angle, dihedral angle) describing the geometry of specified atoms. The property is chosen based on the number of atoms specified:
2 atoms => distance
3 atoms => angle
4 atoms => dihedral angle
- Parameters:
frames – A dataset containing trajectory frames with atomic coordinates.
at1 (int) – Indices of the first, second, third and fourth atoms for geometric property calculation.
at2 (int) – Indices of the first, second, third and fourth atoms for geometric property calculation.
at3 (int | None) – Indices of the first, second, third and fourth atoms for geometric property calculation.
at4 (int | None) – Indices of the first, second, third and fourth atoms for geometric property calculation.
geo_filter (list[tuple[float, float]] | None) – A list of tuples representing ranges. A KDE is plotted for each range, indicating the distribution of points for which the value of the geometry feature falls in that range.
levels (int | list[float] | None) – Contour levels for the KDE plot. Defaults to [0.08, 1]. This parameter is passed to matplotlib.axes.Axes.contour.
scatter_color (Literal['time', 'geo']) – Must be one of ‘time’ or ‘geo’. If ‘time’, the scatter-points will be colored based on the time coordinate; if ‘geo’, the scatter-points will be colored based on the relevant geometry feature (see above).
fill (bool) – Whether to plot filled contours (
fill=True, usesax.contourf) or just contour lines (fill=False, usesax.contour).nbins – number of bins to be visualized, must be an integer between 1 and 4
- Returns:
The computed KDE data for the atom-atom distance distribution.
- Return type:
kde_dat
Notes
Computes a geometric property of the specified atoms across all frames.
Uses kernel density estimation (KDE) to analyze the distance distributions.
Performs PCA on trajectory pairwise distances and visualizes clustering of structural changes.
Produces a figure with PCA projection, cluster analysis, and KDE plots.
- plot_cdf_for_kde(z, level, ax=None)¶
- ski_plots(spectra)¶
Plot spectra for different times on top of each other, along with a dashed line that tracks the maximum. One plot per statecomb; plots stacked vertically. Expected to be used on data produced by
spectra.spectra_all_times.- Parameters:
spectra (xarray.DataArray) – DataArray containing fosc values organized along ‘energy’, ‘time’ and ‘statecomb’ dimensions.
- Return type:
Figure object corresponding to plot.
Examples
>>> import shnitsel as st >>> from shnitsel.core.plot import spectra3d >>> spectra_data = ( st.io.read(path) .st.get_inter_state() .st.assign_fosc() .st.spectra_all_times()) >>> spectra3d.ski_plots(spectra_data)
- pcm_plots(spectra)¶
Represent fosc as colour in a plot of fosc against time and energy. The colour scale is logarithmic. One plot per statecomb; plots stacked horizontally. Expected to be used on data produced by spectra.spectra_all_times.
- Parameters:
spectra (xarray.DataArray) – DataArray containing fosc values organized along ‘energy’, ‘time’ and ‘statecomb’ dimensions.
- Return type:
Figure object corresponding to plot.
Examples
>>> import shnitsel as st >>> from shnitsel.core.plot import spectra3d >>> spectra_data = ( st.io.read(path) .st.get_inter_state() .st.assign_fosc() .st.spectra_all_times()) >>> spectra3d.pcm_plots(spectra_data)