autolens.plot.VectorFieldQuiver

class autolens.plot.VectorFieldQuiver(**kwargs)

Plots a VectorField data structure. A vector field is a set of 2D vectors on a grid of 2d (y,x) coordinates. These are plotted as arrows representing the (y,x) components of each vector at each (y,x) coordinate of it grid.

This object wraps the following Matplotlib method:

https://matplotlib.org/3.3.2/api/_as_gen/matplotlib.pyplot.quiver.html

__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.
quiver_vector_field(vector_field) Plot a vector field using the matplotlib method plt.quiver such that each vector appears as an arrow whose direction depends on the y and x magnitudes of the vector.

Attributes

config_dict
config_folder
quiver_vector_field(vector_field: autoarray.structures.vector_fields.vector_field_irregular.VectorField2DIrregular)

Plot a vector field using the matplotlib method plt.quiver such that each vector appears as an arrow whose direction depends on the y and x magnitudes of the vector.

Parameters:vector_field (VectorField2DIrregular) – The vector field that is plotted using plt.quiver.