viz⚓︎
Plot utilities.
Modules:
| Name | Description |
|---|---|
series |
Time series management and processing. |
NoneDict
⚓︎
Bases: DotDict
DotDict with getattr that (silently) falls back to None.
amplitude_animation(EE, dt=None, interval=1, periodicity=None, blit=True, fignum=None, repeat=False)
⚓︎
Animation of line chart.
Using an ensemble of the shape (time, ensemble size, state vector length).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
EE
|
ndarray
|
Ensemble arry of the shape (K, N, Nx). K is the length of time, N is the ensemble size, and Nx is the length of state vector. |
required |
dt
|
float
|
Time interval of each frame. |
None
|
interval
|
float
|
Delay between frames in milliseconds. Defaults to 200. |
1
|
periodicity
|
bool
|
The mode of the wrapping. "+1": the first element is appended after the last. "±05": adding the midpoint of the first and last elements. Default: "+1" |
None
|
blit
|
bool
|
Controls whether blitting is used to optimize drawing. Default: True |
True
|
fignum
|
int
|
Figure index. Default: None |
None
|
repeat
|
bool
|
If True, repeat the animation. Default: False |
False
|
axis_scale_by_array(ax, arr, axis='y', nbins=3)
⚓︎
Scale axis so that the arr entries appear equidistant.
The full transformation is piecewise-linear.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
ax
|
axes
|
|
required |
arr
|
ndarray
|
Array for plotting |
required |
axis
|
str
|
Scaled axis, which can be 'x', 'y' or 'z'. Defaults: 'y' |
'y'
|
nbins
|
int
|
Number of major ticks. Defaults: 3 |
3
|
collapse_str(string, length=6)
⚓︎
Truncate a string (in the middle) to the given length
default_fig_adjustments(tables, xticks_from_data=False)
⚓︎
Beautify. These settings do not generalize well.
default_styles(coord, baseline_legends=False)
⚓︎
Quick and dirty (but somewhat robust) styling.
estimate_good_plot_length(xx, tseq=None, mult=100)
⚓︎
Estimate the range of the xx slices for plotting.
The length is based on the estimated time scale (wavelength) of the system. Provide sensible fall-backs (better if tseq is supplied).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
xx
|
ndarray
|
Plotted array |
required |
tseq
|
[`tools.chronos.Chronology`][]
|
object with property dko. Defaults: None |
None
|
mult
|
int
|
Number of waves for plotting. Defaults: 100 |
100
|
Returns:
| Name | Type | Description |
|---|---|---|
K |
int
|
length for plotting |
Examples:
integer_hist(E, N, centrd=False, weights=None, **kwargs)
⚓︎
Histogram for integers.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
E
|
ndarray
|
Ensemble array. |
required |
N
|
int
|
Number of histogram bins. |
required |
centrd
|
bool
|
If True, each bin is centered in the midpoint. Default: False |
False
|
weights
|
float
|
Weights for histogram. Default: None |
None
|
kwargs
|
dict
|
keyword arguments for matplotlib.hist |
{}
|
make_label(coord, no_key=NO_KEY, exclude=())
⚓︎
Make label from coord.
not_available_text(ax, txt=None, fs=20)
⚓︎
plot_err_components(stats)
⚓︎
Plot components of the error.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
stats
|
Stats
|
|
required |
Note
It was chosen to plot(ii, mean_in_time(abs(err_i))),
and thus the corresponding spread measure is MAD.
If one chose instead: plot(ii, std_spread_in_time(err_i)),
then the corresponding measure of spread would have been spread.
This choice was made in part because (wrt. subplot 2)
the singular values (svals) correspond to rotated MADs,
and because rms(umisf) seems too convoluted for interpretation.
plot_hovmoller(xx, tseq=None)
⚓︎
Plot Hovmöller diagram.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
xx
|
ndarray
|
Plotted array |
required |
tseq
|
[`tools.chronos.Chronology`][]
|
object with property dko. Defaults: None |
None
|
plot_pause(interval)
⚓︎
Like plt.pause, but better.
- Actually works in Jupyter notebooks.
- In GUI windows: don't focus window.
NB: doesn't create windows either.
For that, use
plt.pauseorplt.showinstead.
plot_rank_histogram(stats)
⚓︎
Plot rank histogram of ensemble.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
stats
|
|
required |
set_ilim(ax, i, Min=None, Max=None)
⚓︎
setup_wrapping(M, periodicity=None)
⚓︎
Make state indices representative for periodic system.
More accurately: Wrap the state indices and create a function that does the same for state vectors (or and ensemble thereof).
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
M
|
int
|
Length of the periodic domain |
required |
periodicity
|
bool
|
The mode of the wrapping. "+1": the first element is appended after the last. "±05": adding the midpoint of the first and last elements. Default: "+1" |
None
|
Returns:
| Name | Type | Description |
|---|---|---|
ii |
ndarray
|
indices of periodic domain |
wrap |
func
|
transform non-periodic data into periodic data |
stretch(a, b, factor=1, int_=False)
⚓︎
Stretch distance a-b by factor.
Parameters:
| Name | Type | Description | Default |
|---|---|---|---|
a
|
float
|
Lower bound of domain. |
required |
b
|
float
|
Upper bound of domain. |
required |
factor
|
float
|
Streching factor. Defaults: 1 |
1
|
int_
|
bool
|
If True, the domain bounds are integer. Defaults: False |
False
|
Returns:
| Name | Type | Description |
|---|---|---|
a |
float
|
Lower bound of domain. |
b |
float
|
Upper bound of domain. |