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.

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 as plot_data. There are also several multiple-plot commands, such as plot_fit_ratio, plot_fit_resid, and plot_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 or sherpa.astro.ui is imported, and the plot set of commands will not create any plots. The choice of back end is made by changing the options.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)