dedalus.extras.plot_tools

Module Contents

class FieldWrapper(field)

Class to mimic h5py dataset interface for Dedalus fields.

field
attrs
dims
property shape
class DimWrapper(field, axis)

Wrapper class to mimic h5py dimension scales.

field
axis
basis
dist
property label
plot_bot(dset, image_axes, data_slices, image_scales=(0, 0), clim=None, even_scale=False, cmap='RdBu_r', axes=None, figkw={}, title=None, func=None, visible_axes=True)

Plot a 2d slice of the grid data of a dset/field.

Parameters:
  • dset (h5py dset or Dedalus Field object) – Dataset to plot

  • image_axes (tuple of ints (xi, yi)) – Data axes to use for image x and y axes

  • data_slices (tuple of slices, ints) – Slices selecting image data from global data

  • image_scales (tuple of ints or strs (xs, ys)) – Axis scales (default: (0,0))

  • clim (tuple of floats, optional) – Colorbar limits (default: (data min, data max))

  • even_scale (bool, optional) – Expand colorbar limits to be symmetric around 0 (default: False)

  • cmap (str, optional) – Colormap name (default: ‘RdBu_r’)

  • axes (matplotlib.Axes object, optional) – Axes to overplot. If None (default), a new figure and axes will be created.

  • figkw (dict, optional) – Keyword arguments to pass to plt.figure (default: {})

  • title (str, optional) – Title for plot (default: dataset name)

  • func (function(xmesh, ymesh, data), optional) – Function to apply to selected meshes and data before plotting (default: None)

  • visible_axes (bool, optional) – Set to false to remove x and y ticks, ticklabels, and labels

plot_bot_2d(dset, transpose=False, **kw)

Plot the grid data of a 2d field.

Parameters:
  • field (field object) – Field to plot

  • transpose (bool, optional) – Flag for transposing plot (default: False)

  • Other keyword arguments are passed on to plot_bot.

plot_bot_3d(dset, normal_axis, normal_index, transpose=False, **kw)

Plot a 2d slice of the grid data of a 3d field.

Parameters:
  • field (field object) – Field to plot

  • normal_axis (int or str) – Index or name of normal axis

  • normal_index (int) – Index along normal direction to plot

  • transpose (bool, optional) – Flag for transposing plot (default: False)

  • Other keyword arguments are passed on to plot_bot.

class MultiFigure(nrows, ncols, image, pad, margin, scale=1.0, **kw)

An array of generic images within a matplotlib figure.

Parameters:
  • nrows, ncols (int) – Number of image rows/columns.

  • image (Box instance) – Box describing the image shape.

  • pad (Frame instance) – Frame describing the padding around each image.

  • margin (Frame instance) – Frame describing the margin around the array of images.

  • scale (float, optional) – Scaling factor to convert from provided box/frame units to figsize. Margin will be automatically expanded so that fig dimensions are integers.

  • Other keywords passed to plt.figure.

subfig
fig
intscale
extra_w
figx
figy
figure
nrows
ncols
image
pad
margin
add_axes(i, j, rect, **kw)

Add axes to a subfigure.

Parameters:
  • i, j (int) – Image row/column

  • rect (tuple of floats) – (left, bottom, width, height) in fractions of image width and height

  • Other keywords passed to Figure.add_axes.

class Box(x, y)

2d-vector-like object for representing image sizes and offsets.

Parameters:

x, y (float) – Box width/height.

x
y
property xbox
property ybox
class Frame(top, bottom, left, right)

Object for representing a non-uniform frame around an image.

Parameters:

top, bottom, left, right (float) – Frame widths.

top
bottom
left
right
property bottom_left
property top_right
quad_mesh(x, y, cut_x_edges=False, cut_y_edges=False)

Construct quadrilateral mesh arrays from two grids. Intended for use with e.g. plt.pcolor.

Parameters:
  • x (1d array) – Grid for last axis of the mesh.

  • y (1d array) – Grid for first axis of the mesh.

  • cut_x_edges, cut_y_edges (bool, optional) – True to truncate edge quadrilaterals at x/y grid edges. False (default) to center edge quadrilaterals at x/y grid edges.

get_1d_vertices(grid, cut_edges=False)

Get vertices dividing a 1d grid.

Parameters:
  • grid (1d array) – Grid.

  • cut_edges (bool, optional) – True to set edge vertices at grid edges. False (default) to center edge segments at grid edges.

pad_limits(xgrid, ygrid, xpad=0.0, ypad=0.0, square=None)

Compute padded image limits for x and y grids.

Parameters:
  • xgrid (array) – Grid for x axis of image.

  • ygrid (array) – Grid for y axis of image.

  • xpad (float, optional) – Padding fraction for x axis (default: 0.).

  • ypad (float, optional) – Padding fraction for y axis (default: 0.).

  • square (axis object, optional) – Extend limits to have a square aspect ratio within an axis.

get_plane(dset, xaxis, yaxis, slices, xscale=0, yscale=0, **kw)

Select plane from dataset. Intended for use with e.g. plt.pcolor.

Parameters:
  • dset (h5py dataset) – Dataset

  • xaxis, yaxis (int) – Axes for plotting

  • xscale, yscale (int or str) – Corresponding axis scales

  • slices (tuple of ints, slice objects) – Selection object for dataset

  • Other keywords passed to quad_mesh