plot
- sherpa.astro.ui.plot(*args, **kwargs) None
Create one or more plot types.
The plot function creates one or more plots, depending on the arguments it is sent: a plot type, followed by optional identifiers, and this can be repeated. If no data set identifier is given for a plot type, the default identifier - as returned by
get_default_id
- is used.Changed in version 4.17.0: The keyword arguments can now be set per plot by using a sequence of values. The layout can be changed with the rows and cols arguments and the automatic calculation no longer forces two rows. Handling of the overplot flag has been improved.
Changed in version 4.15.0: A number of labels, such as “bkgfit”, are marked as deprecated and using them will cause a warning message to be displayed, indicating the new label to use.
Changed in version 4.12.2: Keyword arguments, such as alpha and ylog, can be sent to each plot.
- Parameters:
args – The plot names and identifiers.
rows – The number of rows and columns (if set).
cols – The number of rows and columns (if set).
kwargs – The plot arguments applied to each plot.
- Raises:
sherpa.utils.err.ArgumentErr – The label is invalid.
See also
get_default_id
,get_split_plot
,set_xlinear
,set_xlog
,set_ylinear
,set_ylog
Notes
The supported plot types depend on the data set type, and include the following list. There are also individual functions, with
plot_
prepended to the plot type, such asplot_data
. There are also several multiple-plot commands, such asplot_fit_ratio
,plot_fit_resid
, andplot_fit_delchi
.arf
The ARF for the data set (only for
DataPHA
data sets).bkg
The background.
bkg_chisqr
The chi-squared statistic calculated for each bin when fitting the background.
bkg_delchi
The residuals for each bin, calculated as (data-model) divided by the error, for the background.
bkg_fit
The data (as points) and the convolved model (as a line), for the background data set.
bkg_model
The convolved background model.
bkg_ratio
The residuals for each bin, calculated as data/model, for the background data set.
bkg_resid
The residuals for each bin, calculated as (data-model), for the background data set.
bkg_source
The un-convolved background model.
chisqr
The chi-squared statistic calculated for each bin.
data
The data (which may be background subtracted).
delchi
The residuals for each bin, calculated as (data-model) divided by the error.
fit
The data (as points) and the convolved model (as a line).
kernel
The PSF kernel associated with the data set.
model
The convolved model.
model_component
Part of the full model expression (convolved).
model_components
Parts of the full model expression (convolved).
order
Plot the model for a selected response
psf
The unfiltered PSF kernel associated with the data set.
ratio
The residuals for each bin, calculated as data/model.
resid
The residuals for each bin, calculated as (data-model).
source
The un-convolved model.
source_component
Part of the full model expression (un-convolved).
source_components
Parts of the full model expression (un-convolved).
The plots can be specialized for a particular data type, such as the
set_analysis
command controlling the units used for PHA data sets.Given a plot name, such as “data”, the remaining arguments up to the next plot name match those from the corresponding plot_xxx call (in this case plot_data), ignoring the replot, overplot, and clearwindow arguments. So the call
>>> plot("data", "bkg", 1, "up", ylog=True)
can be thought of as combining the plots created by calling plot_data(ylog=True) and plot_bkg(1, “up”, ylog=True).
The plot capabilities depend on what plotting backend, if any, is installed. If there is none available, a warning message will be displayed when
sherpa.ui
orsherpa.astro.ui
is imported, and theplot
set of commands will not create any plots. The choice of back end is made by changing theoptions.plot_pkg
setting in the Sherpa configuration file.The keyword arguments are sent to each plot (so care must be taken to ensure they are valid for all plots).
Examples
Plot the data for the default data set. This is the same as
plot_data
.>>> plot("data")
Plot the data for data set 2.
>>> plot("data", 2)
Plot the data and ARF for the default data set, in two seaparate plots.
>>> plot("data", "arf")
Plot the fit (data and model) for data sets 1 and 2, in two separate plots.
>>> plot("fit", 1, "fit", 2)
Plot the fit (data and model) for data sets “fit” and “jet”, in two separate plots.
>>> plot("fit", "nucleus", "fit", "jet")
Draw the data and model plots both with a log-scale for the y axis:
>>> plot("data", "model", ylog=True)
Plot the background data components “up” and “down” for dataset 1:
>>> plot("bkg", 1, "up", "bkg", 1, "down")
Draw both data and model for the default dataset in black, but with partial opacity:
>>> plot("data", "model", color="black", alpha=0.5)
Draw the two plots in black but with different opacities:
>>> plot("data", "model", color="black", alpha=[1, 0.5])
Label each plot (the output depends on the backend and the plot options):
>>> plot("data", "model", label=["data", "model"])
Draw the two plots with different y-axis scalings:
>>> plot("data", 2, "model", 2, ylog=[False, True])
Change the layout to a single column of plots:
>>> plot("data", "data", 2, cols=1)
Use a two-column by three-row display (although in this case only one of the rows or cols arguments needed to be given):
>>> plot("data", "data", 2, "model", "model", 2, ... "resid", "resid", 2, rows=3, cols=2)
Create a display for three plots, vertically aligned, but only display plots in the first two:
>>> plot("data", "model", cols=1, rows=3)
Draw the data and residuals for the default dataset and then overplot those from dataset 2:
>>> plot("data", "resid", cols=1, color="black") >>> plot("data", 2, "resid", 2, overplot=True, color="black", alpha=0.5)