Maps and cuts¶
Python¶
Create the complete axes layout first. Pass each row to
erlab.plotting.plot_slices() through its axes argument:
import matplotlib.pyplot as plt
import erlab.plotting as eplt
energies = [-0.4, -0.2, 0.0]
ky_values = [0.0, 0.1, 0.3]
fig, axes = plt.subplots(
2,
3,
figsize=(6.4, 4.0),
layout="compressed",
sharex="col",
sharey="row",
)
eplt.plot_slices(
[data],
eV=energies,
axes=axes[0],
axis="image",
gamma=0.5,
same_limits=True,
annotate=False,
)
eplt.plot_slices(
[data],
ky=ky_values,
axes=axes[1],
gamma=0.5,
same_limits=True,
annotate=False,
)
eplt.label_subplot_properties(axes[0], values={"eV": energies})
eplt.label_subplot_properties(axes[1], values={"ky": ky_values})
eplt.clean_labels(axes)
The number of axes in each row must match the number of requested slices. Use shared limits within a row when intensity differences between its panels must remain visible. Use independent limits when the task is only to compare feature positions.
Reference color limits¶
Use one panel as the intensity reference when its color limits are suitable for all slices:
figure, axes = eplt.plot_slices(
[data],
ky=[0.0, 0.1, 0.3],
gamma=0.5,
annotate=False,
)
eplt.unify_clim(axes, target=axes.flat[1])
The target axes supplies the color limits. Without target,
unify_clim uses the lowest and highest color limits
among the plotted mappables.
Figure Composer¶
Layout: In Layout, set Rows to
2and Columns to3.Sources: In Sources, choose Add… and add the three-dimensional
dataarray.Constant energy maps: Add a Slice Plot step and target the three axes in the top row. Select
dataunder Inputs. Set Dimension toeV, Values to Manual values, and Manual to-0.4, -0.2, 0.0. Set Axis to image, Gamma to0.5, and Match limits to True. Clear Annotate.Energy–momentum cuts: Add a second Slice Plot step and target the bottom row. Select
dataunder Inputs. Set Dimension toky, Values to Manual values, and Manual to0.0, 0.1, 0.3. Set Gamma to0.5and Match limits to True. Clear Annotate.Slice labels: Add an ERLab Method step for
label_subplot_propertieson the top row. Set Values to{"eV": [-0.4, -0.2, 0.0]}. Add another step for the bottom row with{"ky": [0.0, 0.1, 0.3]}.Add an ERLab Method step for
clean_labelsand target all six axes.