hermpy.plotting#

Submodules#

Classes#

MultiPanel

Panel

Base class for all panel types.

SpectrogramPanel

A class for drawing 2D panels. We call it SpectrogramPanel, but it is

TimeseriesPanel

Base class for all panel types.

Functions#

plot_magnetospheric_boundaries(→ None)

Add average magnetopause and bow shock locations based on

Package Contents#

hermpy.plotting.plot_magnetospheric_boundaries(ax: matplotlib.pyplot.Axes, plane: str = 'xy', sub_solar_magnetopause: float = 1.45, alpha: float = 0.5, psi: float = 1.04, p: float = 2.75, initial_x: float = 0.5, add_legend: bool = False, zorder: int = 0, color='black', lw=1) None#

Add average magnetopause and bow shock locations based on Winslow et al. (2013).

Add the plane projection of the average magnetopause and bow shock locations based on Winslow et al. (2013). These are plotted in units of Mercury radii.

Parameters#

axpyplot.Axes

The pyplot axis to add the boundaries to.

planestr {“xy”, “xz”, “yz”}, optional

What plane to project the boundaries to. yz is not yet implimented.

add_legendbool {True, False}, optional

Should pyplot legend labels be added.

Returns#

None

class hermpy.plotting.MultiPanel(panels: list[Panel])#
_panels#
__add__(other) MultiPanel#
plot(sharex=True, show=True, figsize: tuple[int, int] | None = None)#
class hermpy.plotting.Panel(time_column: str = 'UTC')#

Bases: abc.ABC

Base class for all panel types.

time_column = 'UTC'#
_ax_set_params: dict#
__add__(other) MultiPanel#
abstractmethod _plot_on(ax)#

Plot panel content on the given axis.

property ax_set_params: dict#
plot(show=True)#

Creates a quick plot for this panel alone.

class hermpy.plotting.SpectrogramPanel(data: xarray.DataArray, time_dim: str, y_dim: str, y_bin_edges: list[float | int] | None = None, yscale='log', vmin=None, vmax=None, cmap='viridis', cmap_scale='log', unit='')#

Bases: Panel

A class for drawing 2D panels. We call it SpectrogramPanel, but it is general to any channel variable, e.g. energy, frequency, etc.

data#
time_dim#
y_dim#
y_bin_edges#
yscale = 'log'#
vmin = None#
vmax = None#
cmap = 'viridis'#
cmap_scale = 'log'#
unit = ''#
_plot_on(ax)#

Plot panel content on the given axis.

class hermpy.plotting.TimeseriesPanel(table: astropy.table.QTable, time_column: str = 'UTC')#

Bases: Panel

Base class for all panel types.

table#
property unit: astropy.units.Unit#
_check_units()#

Tests if the units of each variable in the panel are matching, and hence can be plotted together.

_plot_on(ax)#

Plot panel content on the given axis.