First of all, let me apologize if the title is not enough clear, but I didn't know how to explain myself better.
I have a graph consisting in three different curves that are covering almost the same y range, except for one point. Since this point corresponds to a value of y much higher respect to the others, I don't want to report it directly, because it would cause the flattening of all the other points. My solution is therefore to report this only point in a separate position of my graph, with an arrow that indicates that it is out of the range and its coordinates:
\documentclass{scrbook}
\usepackage{classicthesis}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel={x},
ylabel={y},
xmin=0, xmax=120,
ymin=0, ymax=5,
width=.8\columnwidth,
cycle list name=black white,
/pgfplots/ytick={1,2,...,5}]
\addplot
coordinates{
(3, 25)
(5, 4)
(10, 2)
(20, 1)
(40, 0.5)
};
\addplot
coordinates{
(6, 4)
(10, 2)
(20, 1)
(40, 0.5)
(80, 0.5)
};
\addplot
coordinates{
(9, 3)
(15, 1.5)
(30, 0.5)
(60, 0.5)
(120, 0.5)
};
\node at (axis cs:25,4.5) {$\uparrow(3,25)$};
\legend{1,2,3}
\end{axis}
\end{tikzpicture}
\end{document}
Here is what I'm asking you:
- As you can notice, I'm using the
\uparrowsymbol to create the arrow, but I would like a thinner and longer arrow. - I would like not to be obliged to report the coordinates of the point by hand.
- I would like to add a mark between the arrow and the coordinates, which should have the same style of the first curve.
Thanks for your help.
EDIT:
Although I'm not completely satisfied about it, I adopted the following solution:
\documentclass{scrbook}
\usepackage{classicthesis}
\usepackage{tikz}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xlabel={x},
ylabel={y},
xmin=0, xmax=120,
ymin=0, ymax=5,
width=.8\columnwidth,
cycle list name=black white,
/pgfplots/ytick={1,2,...,5}]
\addplot
coordinates{
(3, 25)
(5, 4)
(10, 2)
(20, 1)
(40, 0.5)
};
\addplot
coordinates{
(6, 4)
(10, 2)
(20, 1)
(40, 0.5)
(80, 0.5)
};
\addplot
coordinates{
(9, 3)
(15, 1.5)
(30, 0.5)
(60, 0.5)
(120, 0.5)
};
\draw[-latex] (axis cs:12,4.25) -- (axis cs:12,4.75);
\addplot[fill=gray,mark=*]
coordinates{
(15.5, 4.5)
};
\node[right] at (axis cs:16,4.5) {$(3,25)$};
\legend{1,2,3}
\end{axis}
\end{tikzpicture}
\end{document}
Here is the result:



