I like to label my plots directly, i.e. without using a legend, but instead using a pin
node. So far, I have added the labels with manually specified coordinates, which means trial-and-error for data plots. A better way would be to let TikZ
handle the positioning, but I don't know how to access the paths of the plots. Is there a way of adding a node to a plot in pgfplots
, similar to the [pos=0.5]
option for normal paths? Just adding node [pos=0.5] {x}
to the \addplot
command does not position the node on the line, but instead at some location in the lower left of the plot area, regardless of the pos
value.
MWE:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot {x^2} node [pos=0.75,pin={-10:$x^2$},inner sep=0pt] {}; % This does not position the node on the line
\addplot {1.5*x^2};
\node at (axis cs:4,16) [pin={-10:$x^2$},inner sep=0pt] {}; % This is what I want, but without calculating the coordinates by hand
\node at (axis cs:4,24) [pin={170:$1.5 x^2$},inner sep=0pt] {};
\end{axis}
\end{tikzpicture}
\end{document}
Best Answer
The current version of pgfplots (>= 1.5.1) supports this as you expected it in the first place (i.e. using
node[pos=0.75]
):It is available for download on http://pgfplots.sourceforge.net/