# Photoelectron Spectroscopy Scan Simulation

I would like to reproduce a plot similar to this: Credits to: PPLATO University

Each peak represents the binding energy of the electrons in each subshell. The energy values for each peak can be found at http://xdb.lbl.gov/Section1/Table_1-1.pdf. In these table the values are in eV, in the plot the values are expressed in joules. The y-axis show the number of electrons in each subshell. My efforts to draw that are:

\documentclass[margin=5pt]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
minor tick num=4,
height= 35mm,
width = 100mm,
thick,
scale=1.8,
axis lines=center,
xlabel=E (eV),
ylabel=Number of photoelectrons,
ymax=7,
ymin=0,
xmax=3500,
xmin=0,
major tick length=.25cm,
minor tick length=.1cm,
xtick align=inside,
tick style={semithick,color=black},
ytick=\empty,
]
\addplot[ultra thick,black!40!cyan] table[x=x, y=y]{
x       y
15.8    6
23.9    2
250     6
326     2
3206    2
};
\node[red,above] at (axis cs:3206,2){\small{A}};
\end{axis}
\end{tikzpicture}
\end{document}


The result are: My main questions are:

1. How can I suppress the y axis?
2. How can I interrupt the x-axis?
3. How can I define the base line to zero?
4. How can I simulate all the scan only with the peaks localization.

Thanks to all.

It seems to be more easy to make sketch of spectra in pure TikZ: MWE:

\documentclass[border=3mm,
tikz,
]{standalone}
\usetikzlibrary{positioning}

\begin{document}
\begin{tikzpicture}[
every node/.style = {font=\small},
specter/.style = {draw=red, very thick, rounded corners},
]
\draw[specter]
(0,0) -- (0.9,0) -- (1,1) node[above] {E}
-- (1.1,0)
-- (1.9,0) -- (2,1) node[above] {D}
-- (2.1,0) -- (3.5,0);
\draw (0,-0.2) -- + (3.5,0);
\draw[double,double distance=1mm]
(3.5,-0.3) -- + (0.1,0.2);
\foreach \i [count=\ix from 0] in {0,20,40,60}
\draw (\ix,-0.1) -- + (0,-0.1) node[below] {\i};
\begin{scope}[xshift=36mm]
\draw[specter]
(0,0) -- (1.9,0) -- (2,1) node[above] {C}
-- (2.1,0)
-- (2.9,0) -- (3,1) node[above] {B}
-- (3.1,0) -- (4.5,0);
\draw (0,-0.2) -- + (4.5,0);
\draw[double,double distance=1mm]
(4.5,-0.3) -- + (0.1,0.2);
\foreach \i [count=\ix from 1] in {200,400,600}
\draw (\ix,-0.1) -- + (0,-0.1) node[below] {\i};
\end{scope}
\begin{scope}[xshift=82mm]
\draw[specter]
(0,0) -- (2.4,0) -- (2.5,1) node[above] {A}
-- (2.6,0) -- (3.3,0);
\draw[->] (0,-0.2) -- + (3.5,0)
node[below left=4mm and 0mm] {E (eV)};
\foreach \i [count=\ix from 1] in {4800,5000,5200}
\draw (\ix,-0.1) -- + (0,-0.1) node[below] {\i};
\end{scope}
\end{tikzpicture}
\end{document}

• Thanks a lot for your support. This is a nice solution for a particular element. I'm thinking to envelope this code inside a lua routines to trace any kind of element spectrum. – Jorge Nov 8 '15 at 22:56
• @Jorge, you are welcome. Happy (Lua)TeXing! – Zarko Nov 8 '15 at 23:07