autolens.plot.GridPlot

class autolens.plot.GridPlot(**kwargs)

Plots Grid2D data structure that are better visualized as solid lines, for example rectangular lines that are plotted over an image and grids of (y,x) coordinates as lines (as opposed to a scatter of points using the GridScatter object).

This object wraps the following Matplotlib methods:

Parameters:colors ([str]) – The color or list of colors that the grid is plotted using. For plotting indexes or a grid list, a list of colors can be specified which the plot cycles through.
__init__(**kwargs)

An abstract base class for wrapping matplotlib plotting methods.

Classes are used to wrap matplotlib so that the data structures in the autoarray.structures package can be plotted in standardized withs. This exploits how these structures have specific formats, units, properties etc. This allows us to make a simple API for plotting structures, for example to plot an Array2D structure:

import autoarray as aa import autoarray.plot as aplt

arr = aa.Array2D.manual_native(array=[[1.0, 1.0], [2.0, 2.0]], pixel_scales=2.0) aplt.Array2D(array=arr)

The wrapped Mat objects make it simple to customize how matplotlib visualizes this data structure, for example we can customize the figure size and colormap using the Figure and Cmap objects.

figure = aplt.Figure(figsize=(7,7), aspect=”square”) cmap = aplt.Cmap(cmap=”jet”, vmin=1.0, vmax=2.0)

plotter = aplt.MatPlot2D(figure=figure, cmap=cmap)

aplt.Array2D(array=arr, plotter=plotter)

The Plotter object is detailed in the autoarray.plot.plotter package.

The matplotlib wrapper objects in ths module also use configuration files to choose their default settings. For example, in autoarray.config.visualize.mat_base.Figure.ini you will note the section:

[figure] figsize=(7, 7)

[subplot] figsize=auto

This specifies that when a data structure (like the Array2D above) is plotted, the figsize will always be (7,7) when a single figure is plotted and it will be chosen automatically if a subplot is plotted. This allows one to customize the matplotlib settings of every plot in a project.

Methods

__init__(**kwargs) An abstract base class for wrapping matplotlib plotting methods.
plot_grid(grid, …) Plot an input grid of (y,x) coordinates using the matplotlib method plt.scatter.
plot_grid_list(grid_list, …) Plot an input list of grids of (y,x) coordinates using the matplotlib method plt.line.
plot_rectangular_grid_lines(extent, float, …) Plots a rectangular grid of lines on a plot, using the coordinate system of the figure.

Attributes

config_dict
config_folder
plot_rectangular_grid_lines(extent: Tuple[float, float, float, float], shape_native: Tuple[int, int])

Plots a rectangular grid of lines on a plot, using the coordinate system of the figure.

The size and shape of the grid is specified by the extent and shape_native properties of a data structure which will provide the rectangaular grid lines on a suitable coordinate system for the plot.

Parameters:
  • extent ((float, float, float, float)) – The extent of the rectangualr grid, with format [xmin, xmax, ymin, ymax]
  • shape_native – The 2D shape of the mask the array is paired with.
plot_grid(grid: Union[numpy.ndarray, autoarray.structures.grids.two_d.grid_2d.Grid2D])

Plot an input grid of (y,x) coordinates using the matplotlib method plt.scatter.

Parameters:grid (Grid2D) – The grid of (y,x) coordinates that is plotted.
plot_grid_list(grid_list: Union[List[autoarray.structures.grids.two_d.grid_2d.Grid2D], List[autoarray.structures.grids.two_d.grid_2d_irregular.Grid2DIrregular]])
Plot an input list of grids of (y,x) coordinates using the matplotlib method plt.line.

This method colors each grid in the list the same, so that the different grids are visible in the plot.

This provides an alternative to GridScatter.scatter_grid_list where the plotted grids appear as lines instead of scattered points.
Parameters:
grid_list : Grid2DIrregular

The list of grids of (y,x) coordinates that are plotted.