Plotting#

Plotting functionality for RAT results objects is available through the ratapi.utils.plotting module.

Plot results using the matplotlib library.

class ratapi.utils.plotting.LivePlot(block=False)#

Create a plot that gets updates from the plot event during a calculation.

Parameters:

block (bool, default: False) – Indicates the plot should block until it is closed

plotEvent(event)#

Plot the figure from plot event data.

This is a callback for the plot event.

Parameters:

event (PlotEventData) – The plot event data.

class ratapi.utils.plotting.PlotSLDWithBlitting(data, fig=None, linear_x=False, q4=False, show_error_bar=True, show_grid=False, show_legend=True)#

Create a SLD plot that uses blitting to get faster draws.

The blit plot stores the background from an initial draw then updates the foreground (lines and error bars) if the background is not changed.

Parameters:
  • data (PlotEventData) – The plot event data that contains all the information to generate the ref and sld plots

  • fig (matplotlib.pyplot.figure, optional) – The figure class that has two subplots

  • linear_x (bool, default: False) – Controls whether the x-axis on reflectivity plot uses the linear scale

  • q4 (bool, default: False) – Controls whether Q^4 is plotted on the reflectivity plot

  • show_error_bar (bool, default: True) – Controls whether the error bars are shown

  • show_grid (bool, default: False) – Controls whether the grid is shown

  • show_legend (bool, default: True) – Controls whether the legend is shown

adjustErrorBar(error_bar_container, x, y, y_error)#

Adjust the error bar data.

Parameters:
  • error_bar_container (Tuple) – Tuple containing the artist of the errorbar i.e. (data line, cap lines, bar lines)

  • x (np.ndarray) – The shifted data x axis data

  • y (np.ndarray) – The shifted data y axis data

  • y_error (np.ndarray) – The shifted data y axis error data

resizeEvent(_event)#

Ensure the background is updated after a resize event.

setAnimated(is_animated)#

Set the animated property of foreground plot elements.

Parameters:

is_animated (bool) – Indicates if the animated property should been set.

update(data)#

Update the foreground, if background has not changed otherwise it updates full plot.

Parameters:

data (PlotEventData) – The plot event data that contains all the information to generate the ref and sld plots

updateForeground(data)#

Update the plot foreground only.

Parameters:

data (PlotEventData) – The plot event data that contains all the information to generate the ref and sld plots

updatePlot(data)#

Update the full plot.

Parameters:

data (PlotEventData) – The plot event data that contains all the information to generate the ref and sld plots

ratapi.utils.plotting.plot_chain(results, params=None, maxpoints=15000, block=False, return_fig=False)#

Plot the MCMC chain for each parameter of a Bayesian analysis.

Parameters:
  • results (ratapi.outputs.BayesResults) – The results of a Bayesian analysis.

  • params (list[int], default None) – The indices or names of a subset of parameters if required. If None, uses all indices.

  • maxpoints (int) – The maximum number of points to plot for each parameter.

  • block (bool, default False) – Whether Python should block until the plot is closed.

  • return_fig (bool, default False) – If True, return the figure as an object instead of showing it.

Returns:

If return_fig is True, return the figure - otherwise, return nothing.

Return type:

Figure or None

ratapi.utils.plotting.plot_contour(results, x_param, y_param, smooth=True, sigma=None, axes=None, block=False, return_fig=False, **hist2d_settings)#

Plot a 2D histogram of two indexed chain parameters, with contours.

Parameters:
  • results (ratapi.outputs.BayesResults) – The results of a Bayesian analysis.

  • x_param (int) – The index or name of the parameter on the x-axis.

  • y_param (int) – The index or name ofthe parameter on the y-axis.

  • smooth (bool, default True) – If True, apply Gaussian smoothing to the histogram.

  • sigma (tuple[float] or None, default None) – If given, is used as parameters for Gaussian smoothing in x and y direction respectively. If None, defaults to the standard deviation of the parameter chain in either direction.

  • axes (Axes or None, default None) – If provided, plot on the given Axes object.

  • block (bool, default False) – Whether Python should block until the plot is closed.

  • return_fig (bool, default False) – If True, return the figure as an object instead of showing it.

  • **hist2d_settings – Settings passed to np.histogram2d. Default settings are bins = 25 and density = True.

Returns:

If return_fig is True, return the figure - otherwise, return nothing.

Return type:

Figure or None

ratapi.utils.plotting.plot_corner(results, params=None, smooth=True, block=False, return_fig=False, hist_kwargs=None, hist2d_kwargs=None)#

Create a corner plot from a Bayesian analysis.

Parameters:
  • results (BayesResults) – The results from a Bayesian calculation.

  • params (list[int or str], default None) – The indices or names of a subset of parameters if required. If None, uses all indices.

  • smooth (bool, default True) – Whether to apply Gaussian smoothing to the corner plot.

  • block (bool, default False) – Whether Python should block until the plot is closed.

  • return_fig (bool, default False) – If True, return the figure as an object instead of showing it.

  • hist_kwargs (dict) – Extra keyword arguments to pass to the 1d histograms. Default is {‘density’: True, ‘bins’: 25}

  • hist2d_kwargs (dict) – Extra keyword arguments to pass to the 2d histograms. Default is {‘density’: True, ‘bins’: 25}

Returns:

If return_fig is True, return the figure - otherwise, return nothing.

Return type:

Figure or None

ratapi.utils.plotting.plot_hists(results, params=None, smooth=True, sigma=None, estimated_density=None, block=False, return_fig=False, **hist_settings)#

Plot marginalised posteriors for several parameters from a Bayesian analysis.

Parameters:
  • results (BayesResults) – The results from a Bayesian calculation.

  • params (list[int], default None) – The indices or names of a subset of parameters if required. If None, uses all indices.

  • smooth (bool, default True) – Whether to apply a Gaussian smoothing to the histogram. Defaults to True.

  • sigma (float or None, default None) – If given, is used as the sigma-parameter for the Gaussian smoothing. If None, the default (1/3rd of parameter chain standard deviation) is used.

  • estimated_density (dict, default None) – If None (default), ignore. Can also be a string ‘normal’, ‘lognor’ or ‘kernel’ to apply the same estimated density to all parameters. Else, a dictionary where the keys are indices or names of parameters, and values denote an estimated density of the given form on top of the histogram: None : do not plot estimated density for this parameter. ‘normal’: normal Gaussian. ‘lognor’: Log-normal probability density. ‘kernel’: kernel density estimation. To provide a default estimated density function to all parameters that haven’t been specifically set, pass the ‘default’ key, e.g. to apply ‘normal’ to all unset parameters, set estimated_density = {‘default’: ‘normal’}.

  • block (bool, default False) – Whether Python should block until the plot is closed.

  • return_fig (bool, default False) – If True, return the figure as an object instead of showing it.

  • hist_settings – Settings passed to np.histogram. By default, the settings passed are bins = 25 and density = True.

Returns:

If return_fig is True, return the figure - otherwise, return nothing.

Return type:

Figure or None

ratapi.utils.plotting.plot_one_hist(results, param, smooth=True, sigma=None, estimated_density=None, axes=None, block=False, return_fig=False, **hist_settings)#

Plot the marginalised posterior for a parameter of a Bayesian analysis.

Parameters:
  • results (BayesResults) – The results from a Bayesian calculation.

  • param (Union[int, str]) – Either the index or name of a parameter.

  • block (bool, default False) – Whether Python should block until the plot is closed.

  • smooth (bool, default True) – Whether to apply Gaussian smoothing to the histogram. Defaults to True.

  • sigma (float or None, default None) – If given, is used as the sigma-parameter for the Gaussian smoothing. If None, the default (1/3rd of parameter chain standard deviation) is used.

  • estimated_density ('normal', 'lognor', 'kernel' or None, default None) – If None (default), ignore. Else, add an estimated density of the given form on top of the histogram by the following estimations: ‘normal’: normal Gaussian. ‘lognor’: Log-normal probability density. ‘kernel’: kernel density estimation.

  • axes (Axes or None, default None) – If provided, plot on the given Axes object.

  • block – Whether Python should block until the plot is closed.

  • return_fig (bool, default False) – If True, return the figure as an object instead of showing it.

  • **hist_settings – Settings passed to np.histogram. By default, the settings passed are bins = 25 and density = True.

Returns:

If return_fig is True, return the figure - otherwise, return nothing.

Return type:

Figure or None

ratapi.utils.plotting.plot_ref_sld(project, results, block=False, return_fig=False, bayes=None, linear_x=False, q4=False, show_error_bar=True, show_grid=False, show_legend=True)#

Plot the reflectivity and SLD profiles.

Parameters:
  • project (Project) – An instance of the Project class

  • results (Union[Results, BayesResults]) – The result from the calculation

  • block (bool, default: False) – Indicates the plot should block until it is closed

  • return_fig (bool, default False) – If True, return the figure instead of displaying it.

  • bayes (65, 95 or None, default None) – Whether to shade Bayesian confidence intervals. Can be None (if no intervals), 65 to show 65% confidence intervals, and 95 to show 95% confidence intervals.

  • linear_x (bool, default: False) – Controls whether the x-axis on reflectivity plot uses the linear scale

  • q4 (bool, default: False) – Controls whether Q^4 is plotted on the reflectivity plot

  • show_error_bar (bool, default: True) – Controls whether the error bars are shown

  • show_grid (bool, default: False) – Controls whether the grid is shown

  • show_legend (bool, default: True) – Controls whether the legend is shown

Returns:

Returns Figure if return_fig is True, else returns nothing.

Return type:

Figure or None