Annotating core levels¶
Python¶
Plot the measured spectrum first. Then mark the reference core-level binding energies for the elements in the sample:
import matplotlib.pyplot as plt
import erlab.plotting as eplt
fig, ax = plt.subplots()
core_spectrum.plot.line(ax=ax)
eplt.plot_core_levels(
["Bi", "Se"],
ax=ax,
energy="binding",
binding_energy_sign="negative",
linestyle="--",
)
Use binding_energy_sign="positive" for a conventional positive XPS binding-energy
axis. For a kinetic-energy axis, use energy="kinetic" and supply the measured photon
energy with hv. Also supply work_function when it is needed for the conversion.
The marked energies are tabulated reference values. Confirm each assignment from the measured peak shape and the known sample composition. Chemical shifts, charging, and an incorrect energy zero can move measured peaks away from the reference lines.
See erlab.plotting.plot_core_levels() for line orientation, labels, colors, and
explicit energy limits.
Figure Composer¶
Add the measured spectrum to Figure Composer as a source. Then create this ordered recipe:
Add a Line/Profile step for the spectrum on the target axes.
Add an ERLab Method step after the spectrum step. Select
plot_core_levelsand target the same axes.Enter the element symbols for the sample in Elements.
Set Energy and Binding sign to match the energy axis.
Check every marked line against the measured peaks and the known sample composition.
For a positive binding-energy axis, set Binding sign to positive. For a kinetic-energy axis, set Energy to kinetic and enter Photon energy. Enter the required Work function when the energy conversion includes it.
Use Text labels, Legend labels, and Text options to keep labels readable without hiding the data.