solprop.plotting.statistics#

Line plots of the statistics a run recorded at its saved planes.

Two figures: what the pulse did, and what the waveguide and the gas were doing while it did it. Only the statistics the run actually recorded are drawn, and a figure with nothing to put in it is not made at all rather than raising.

The catalogue of names, shapes and units is solprop.stats.CATALOGUE; the display units are solprop.plotting.style’s.

Module Attributes

PULSE_STATISTICS

Statistics of the pulse, in the order they are drawn.

OTHER_STATISTICS

Statistics of the waveguide, the gas and the numerics, in the order drawn.

Functions

stats(output, **kwargs)

Return one figure per group of the statistics a run recorded.

solprop.plotting.statistics.OTHER_STATISTICS = ('electron_density', 'peak_ionisation_rate', 'density', 'pressure', 'core_radius', 'zdw', 'quadrature_error')#

Statistics of the waveguide, the gas and the numerics, in the order drawn.

solprop.plotting.statistics.PULSE_STATISTICS = ('energy', 'energy_window', 'peak_power', 'peak_power_window', 'peak_power_total', 'peak_intensity', 'fwhm_t', 'fwhm_t_outer', 'fwhm_r', 'omega0')#

Statistics of the pulse, in the order they are drawn.

solprop.plotting.statistics.stats(output, **kwargs)[source]#

Return one figure per group of the statistics a run recorded.

Where a statistic was recorded between planes as well as at them (solprop.stats.StatsSpec.periodic), the between-planes rows are drawn instead: they are the same numbers on a far denser grid of z, so a curve that a few save planes would render as a polygon is drawn as the trace it is. A run without that channel is drawn from its planes exactly as before.

Parameters:
outputsolprop.output.schema.Output

An opened output handler.

**kwargsAny

Passed to matplotlib.axes.Axes.plot().

Returns:
list of matplotlib.figure.Figure

A figure of pulse statistics and a figure of waveguide statistics, each present only if the run recorded at least one of its group. A run with no statistics at all gives an empty list and no error.

Examples

>>> import matplotlib.pyplot as plt
>>> from solprop.plotting.statistics import stats
>>> from solprop.processing._examples import example_output
>>> figures = stats(example_output())
>>> len(figures), len(figures[0].axes)
(1, 5)
>>> plt.close("all")