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

Plot a component of the model for a data set.

This function evaluates and plots a component of the model expression for a data set, including any instrument response. Use plot_source_component to display without any response. For PHA data, the response model is automatically added by the routine unless the model contains a response.

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

  • model (str or sherpa.models.model.Model instance) – The component to display (the name, if a string).

  • replot (bool, optional) – Set to True to use the values calculated by the last call to plot_model_component. 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)?

See also


Return the data used to create the model-component plot.


Return the default data set identifier.


Create one or more plot types.


Plot a component of the source expression for a data set.


Plot the model for a data set.


New plots will display a linear X axis.


New plots will display a logarithmically-scaled X axis.


New plots will display a linear Y axis.


New plots will display a logarithmically-scaled Y axis.


The function does not follow the normal Python standards for parameter use, since it is designed for easy interactive use. When called with a single un-named argument, it is taken to be the model parameter. If given two un-named arguments, then they are interpreted as the id and model parameters, respectively.

The additional keyword arguments match the keywords of the dictionary returned by get_model_plot_prefs.


Overplot the pl component of the model expression for the default data set:

>>> plot_model()
>>> plot_model_component(pl, overplot=True)

Display the results for the ‘jet’ data set (data and model), and then overplot the pl component evaluated for the ‘jet’ and ‘core’ data sets:

>>> plot_fit('jet')
>>> plot_model_component('jet', pl, overplot=True)
>>> plot_model_component('core', pl, overplot=True)

For PHA data sets the response is automatically added, but it can also be explicitly included, which will create the same plot:

>>> plot_model_component(pl)
>>> rsp = get_response()
>>> plot_model_component(rsp(pl))