Plots
Gemdat contains several built-in plots for visualizing trajectories, jumps, transitions, and radial distribution functions.
These are collected in the plots module. The intended usage is that you import gemdat.plots like this:
from gemdat import plots
plots.displacement_per_element(trajectory)
plots.jumps_vs_distance(trajectory, sites)
plots.radial_distribution(rdfs)
All plotting functions take a gemdat.Trajectory, gemdat.Jumps, gemdat.Transitions, gemdat.rdf.RDFData or a combination as input. In addition, for some plots you have a few parameters to tune the output.
Trajectory and displacements plots
This module contains all the plots that Gemdat can generate.
displacement_per_atom(*, trajectory)
Plot displacement per atom.
Parameters:
-
trajectory(Trajectory) –Input trajectory, i.e. for the diffusing atom
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_displacement_per_atom.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | |
displacement_per_element(*, trajectory)
Plot displacement per element.
Parameters:
-
trajectory(Trajectory) –Input trajectory
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_displacement_per_element.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 | |
displacement_histogram(trajectory, n_parts=1)
Plot histogram of total displacement at final timestep.
Parameters:
-
trajectory(Trajectory) –Input trajectory, i.e. for the diffusing atom
-
n_parts(int, default:1) –Plot error bars by dividing data into n parts
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_displacement_histogram.py
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 | |
Simulation metrics plots
This module contains all the plots that Gemdat can generate.
frequency_vs_occurence(*, trajectory)
Plot attempt frequency vs occurence.
Parameters:
-
trajectory(Trajectory) –Input trajectory, i.e. for the diffusing atom
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_frequency_vs_occurence.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | |
vibrational_amplitudes(*, trajectory, bins=50, n_parts=1)
Plot histogram of vibrational amplitudes with fitted Gaussian.
Parameters:
-
trajectory(Trajectory) –Input trajectory, i.e. for the diffusing atom
-
n_parts(int, default:1) –Number of parts for error analysis
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_vibrational_amplitudes.py
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | |
Jumps and transition plots
This module contains all the plots that Gemdat can generate.
jumps_vs_distance(*, jumps, jump_res=0.1, n_parts=1)
Plot jumps vs distance histogram.
Parameters:
-
jumps(Jumps) –Input jumps data
-
jump_res(float, default:0.1) –Resolution of the bins in Angstrom
-
n_parts(int, default:1) –Number of parts for error analysis
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_jumps_vs_distance.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | |
jumps_vs_time(*, jumps, bins=8, n_parts=1)
Plot jumps vs distance histogram.
Parameters:
-
jumps(Jumps) –Input jumps data
-
bins(int, default:8) –Number of bins
-
n_parts(int, default:1) –Number of parts for error analysis
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_jumps_vs_time.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | |
collective_jumps(*, jumps)
Plot collective jumps per jump-type combination.
Parameters:
-
jumps(Jumps) –Input data
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_collective_jumps.py
12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | |
jumps_3d(*, jumps)
Plot jumps in 3D.
Parameters:
-
jumps(Jumps) –Input data
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_jumps_3d.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | |
jumps_3d_animation(*, jumps, t_start, t_stop, decay=0.05, skip=5, interval=20)
Plot jumps in 3D as an animation over time.
Parameters:
-
jumps(Jumps) –Input data
-
t_start(int) –Time step to start animation (relative to equilibration time)
-
t_stop(int) –Time step to stop animation (relative to equilibration time)
-
decay(float, default:0.05) –Controls the decay of the line width (higher = faster decay)
-
skip(float, default:5) –Skip frames (increase for faster, but less accurate rendering)
-
interval(int, default:20) –Delay between frames in milliseconds.
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/matplotlib/_jumps_3d_animation.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 | |
Radial distribution plots
This module contains all the plots that Gemdat can generate.
radial_distribution(rdfs)
Plot radial distribution function.
Parameters:
Returns:
-
fig(Figure) –Output figure
Source code in src/gemdat/plots/plotly/_radial_distribution.py
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 | |