plot_fit

sherpa.astro.ui.plot_fit(id=None, replot=False, overplot=False, clearwindow=True, **kwargs)

Plot the fit results (data, model) for a data set.

This function creates a plot containing the data and the model (including any instrument response) for a data set.

Parameters:
  • id (int or str, optional) – The data set. If not given then the default identifier is used, as returned by get_default_id.

  • replot (bool, optional) – Set to True to use the values calculated by the last call to plot_fit. The default is False.

  • overplot (bool, optional) – If True then add the data to an existing plot, otherwise create a new plot. The default is False.

  • clearwindow (bool, optional) – Should the existing plot area be cleared before creating this new plot (e.g. for multi-panel plots)?

Raises:

sherpa.utils.err.IdentifierErr – If the data set does not exist or a source expression has not been set.

See also

get_fit_plot

Return the data used to create the fit plot.

get_default_id

Return the default data set identifier.

plot

Create one or more plot types.

plot_fit_delchi

Plot the fit results, and the residuals, for a data set.

plot_fit_ratio

Plot the fit results, and the ratio of data to model, for a data set.

plot_fit_resid

Plot the fit results, and the residuals, for a data set.

plot_data

Plot the data values.

plot_model

Plot the model for a data set.

set_xlinear

New plots will display a linear X axis.

set_xlog

New plots will display a logarithmically-scaled X axis.

set_ylinear

New plots will display a linear Y axis.

set_ylog

New plots will display a logarithmically-scaled Y axis.

Notes

The additional arguments supported by plot_fit are the same as the keywords of the dictionary returned by get_data_plot_prefs.

Examples

Plot the fit results for the default data set:

>>> plot_fit()

Overplot the ‘core’ results on those from the ‘jet’ data set, using a logarithmic scale for the X axis:

>>> set_xlog()
>>> plot_fit('jet')
>>> plot_fit('core', overplot=True)

Keyword arguments can be given to override the plot preferences; for example the following sets the y axis to a log scale, but only for this plot:

>>> plot_fit(ylog=True)

The color can be changed for both the data and model using (note that the keyword name and supported values depends on the plot backend; this example assumes that Matplotlib is being used):

>>> plot_fit(color='orange')

Draw the fits for two datasets, setting the second one partially transparent (this assumes Matplotlib is used):

>>> plot_fit(1)
>>> plot_fit(2, alpha=0.7, overplot=True)