ModelPlot

class sherpa.plot.ModelPlot[source] [edit on github]

Bases: Plot

Create 1D plots of model values.

x

The X value for each point (the independent variable).

Type:

array_like

y

The Y value for each point (the dependent variable).

Type:

array_like

xerr

The half-width of each X “bin”, if set.

Type:

array_like

yerr

The error on the Y value, if set.

Type:

array_like

xlabel, ylabel, title

Plot labels.

Type:

str

Examples

Plot up an example dataset. The default appearance is to draw a line between each point:

>>> from sherpa.data import Data1D
>>> from sherpa.models.basic import StepLo1D
>>> from sherpa.plot import ModelPlot
>>> data = Data1D('a dataset', [10, 20, 25], [2, -7, 4])
>>> model = StepLo1D()
>>> model.xcut = 19
>>> mplot = ModelPlot()
>>> mplot.prepare(data, model)
>>> mplot.plot()

The plot attributes can be changed to adjust the appearance of the plot, and the data re-drawn. The following also shows how the plot preferences can be over-ridden to draw the model as squares with no line connecting them (this assumes that the Matplotlib backend is in use):

>>> mplot.xlabel = 'length'
>>> mplot.ylabel = 'model values'
>>> mplot.plot(marker='s', linestyle='none')

Attributes Summary

plot_prefs

The preferences for the plot.

Methods Summary

hline(y[, xmin, xmax, linecolor, linestyle, ...])

Draw a line at constant y, extending over the plot.

overplot(*args, **kwargs)

Add the data to an existing plot.

plot([overplot, clearwindow])

Plot the data.

prepare(data, model[, stat])

Create the data to plot

vline(x[, ymin, ymax, linecolor, linestyle, ...])

Draw a line at constant x, extending over the plot.

Attributes Documentation

plot_prefs = {'alpha': None, 'capsize': None, 'color': None, 'ecolor': None, 'label': None, 'linestyle': '-', 'linewidth': None, 'marker': 'None', 'markerfacecolor': None, 'markersize': None, 'xerrorbars': False, 'xlog': False, 'yerrorbars': False, 'ylog': False}

The preferences for the plot.

Methods Documentation

static hline(y, xmin=0, xmax=1, linecolor=None, linestyle=None, linewidth=None, overplot=False, clearwindow=True) [edit on github]

Draw a line at constant y, extending over the plot.

overplot(*args, **kwargs) [edit on github]

Add the data to an existing plot.

This is the same as calling the plot method with overplot set to True.

See also

plot

plot(overplot=False, clearwindow=True, **kwargs)[source] [edit on github]

Plot the data.

This will plot the data sent to the prepare method.

Parameters:
  • overplot (bool, optional) – If True then add the data to an existing plot, otherwise create a new plot.

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

  • **kwargs – These values are passed on to the plot backend, and must match the names of the keys of the object’s plot_prefs dictionary.

See also

prepare, overplot

prepare(data: Data1D, model: Model, stat: Stat | None = None) None[source] [edit on github]

Create the data to plot

Parameters:
  • data – The Sherpa data object to display (it is assumed to be one dimensional). This defines the grid over which the model is displayed.

  • model – The Sherpa model expression to evaluate and display.

  • stat (optional) – This parameter is unused.

See also

plot

static vline(x, ymin=0, ymax=1, linecolor=None, linestyle=None, linewidth=None, overplot=False, clearwindow=True) [edit on github]

Draw a line at constant x, extending over the plot.