Plotting classes and functions#
Classes and functions for plotting spectra and SDFITS data
Core Functions and Classes#
Plot a spectrum using matplotlib
- class dysh.plot.core.PlotBase(**kwargs)[source]#
Bases:
objectThis class describes describes the common interface to all Plot classes.
Methods
fmt_scans([abbreviate])Format the scan numbers.
refresh()Refresh the plot
savefig(file[, hidebuttons])Save the plot
- property axis#
The underlying
Axesobject
- property figure#
The underlying
Figureobject
SpecPlot#
Plot a spectrum using matplotlib
- class dysh.plot.specplot.InteractiveSpanSelector(ax)[source]#
Bases:
objectMethods
Disconnect all event handlers to prevent memory leaks and dangling references.
clear_region
clear_regions
get_selected_regions
on_key_press
on_motion
on_press
on_release
onselect
- class dysh.plot.specplot.SpectrumPlot(spectrum, **kwargs)[source]#
Bases:
PlotBaseThe SpectrumPlot class is for simple plotting of a
Spectrumusing matplotlib functions. Plots attributes are modified using keywords (**kwargs) described below. SpectrumPlot will attempt to make smart default choices for the plot if no additional keywords are given.- Parameters:
- spectrum
Spectrum The spectrum to plot
- spectrum
- Attributes:
Methods
clear_lines(gid)Clears lines with
gidfrom the plot.clear_overlays([blines, oshows])Clear Overlays from the plot.
fmt_scans([abbreviate])Format the scan numbers.
freex()Free the X-axis if limits have been set.
freexy()Free the X and Y axes simultaneously.
freey()Free the Y-axis if limits have been set.
oshow(spectra[, color, linestyle])Add
spectrato the current plot.plot([show_header, select, oshow])Plot the spectrum.
refresh()Refresh the plot
reset()Reset the plot keyword arguments to their defaults.
savefig(file[, hidebuttons])Save the plot
default_plot_kwargs
get_selected_regions
- Other Parameters:
- xaxis_unitstr or
Unit The units to use on the x-axis, e.g. “km/s” to plot velocity.
- yaxis_unitstr or
Unit The units to use on the y-axis.
- xminfloat
Minimum x-axis value, in
xaxis_unit.- xmaxfloat
Maximum x-axis value, in
yaxis_unit.- yminfloat
Minimum y-axis value, in
xaxis_unit.- ymaxfloat
Maximum y-axis value, in
yaxis_unit.- xlabelstr
x-axis label.
- ylabelstr
y-axis label.
- gridbool
Show a plot grid or not.
- figsizetuple
Figure size (see matplotlib).
- linewidthfloat
Line width, default: 2.0.
- drawstylestr
Line style, default ‘default’.
- colorstr
Line color, c also works.
- titlestr
Plot title.
- vel_framestr
The velocity frame (see VELDEF FITS Keyword).
- doppler_convention: str
The velocity convention (see VELDEF FITS Keyword).
- xaxis_unitstr or
- clear_lines(gid)[source]#
Clears lines with
gidfrom the plot.- Parameters:
- gidstr
Group id for the lines to be cleared.
- clear_overlays(blines=True, oshows=True)[source]#
Clear Overlays from the plot.
- Parameters:
- blinesbool
Remove only baseline models overlaid on the plot. Default: True
- freex()[source]#
Free the X-axis if limits have been set. Resets the limits to be the span of the spectrum.
- freey()[source]#
Free the Y-axis if limits have been set. Autoscales the Y-axis according to your matplotlib configuration.
- oshow(spectra, color=None, linestyle=None)[source]#
Add
spectrato the current plot.- Parameters:
- spectralist of
dysh.spectra.spectrum.Spectrumordysh.spectra.spectrum.Spectrum Spectra to add to the plot.
- colorlist of valid
matplotlibcolors ormatplotlibcolor Colors for the spectra. There must be one element per spectra.
- linestylelist of valid
matplotliblinestyles ormatplotliblinestyle Linestyles for the spectra. There must be one element per spectra.
- spectralist of
- plot(show_header=True, select=True, oshow=None, **kwargs)[source]#
Plot the spectrum.
- Parameters:
- show_headerbool
Show informational header.
- selectbool
Allow selecting regions via click and drag.
- oshowlist or
Spectrum Spectra to overlay in the plot.
- Other Parameters:
- xaxis_unitstr or
Unit The units to use on the x-axis, e.g. “km/s” to plot velocity.
- yaxis_unitstr or
Unit The units to use on the y-axis.
- xminfloat
Minimum x-axis value, in
xaxis_unit.- xmaxfloat
Maximum x-axis value, in
yaxis_unit.- yminfloat
Minimum y-axis value, in
xaxis_unit.- ymaxfloat
Maximum y-axis value, in
yaxis_unit.- xlabelstr
x-axis label.
- ylabelstr
y-axis label.
- gridbool
Show a plot grid or not.
- figsizetuple
Figure size (see matplotlib).
- linewidthfloat
Line width, default: 2.0.
- drawstylestr
Line style, default ‘default’.
- colorstr
Line color, c also works.
- titlestr
Plot title.
- vel_framestr
The velocity frame (see VELDEF FITS Keyword).
- doppler_convention: str
The velocity convention (see VELDEF FITS Keyword).
- xaxis_unitstr or
ScanPlot#
Plot a spectrum using matplotlib
- class dysh.plot.scanplot.ScanPlot(scanblock_or_scan, **kwargs)[source]#
Bases:
PlotBaseThe ScanPlot class is for simple plotting of a
ScanorScanBlockusing matplotlib functions. Plot attributes are modified using keywords (**kwargs) described below. SpectrumPlot will attempt to make smart default choices for the plot if no additional keywords are given.- Parameters:
- scanblock_or_scan
ScanorScanBlock The scan or scanblock to plot.
- **kwargsdict
Plot attribute keyword arguments, see below.
- scanblock_or_scan
- Attributes:
axisThe underlying
AxesobjectfigureThe underlying
Figureobject
Methods
fmt_scans([abbreviate])Format the scan numbers.
plot([spectral_unit])Plot the scan.
refresh()Refresh the plot
reset()Reset the plot keyword arguments to their defaults.
savefig(file[, hidebuttons])Save the plot
set_clim([vmin, vmax])Set the vmin and vmax parameters of the image.
set_cmap([cmap])Set the cmap of the image.
set_interpolation([interpolation])Set the interpolation of the image.
set_norm([norm])Set the normalization of the image colormap.
- Other Parameters:
- spectral_unitstr
The units to use on the frequency axis. Can be ‘MHz’ or ‘GHz’.
- set_clim(vmin=None, vmax=None)[source]#
Set the vmin and vmax parameters of the image.
- Parameters:
- vminfloat
The minimum value of the color scale. Default None; to autoscale.
- vmaxfloat
The maximum value of the color scale. Default None; to autoscale.
- set_cmap(cmap='inferno')[source]#
Set the cmap of the image.
- Parameters:
- cmapstr
cmap used for the color scale. Default: “inferno”.