
Estoy intentando crear una marca personalizada para usar en un diagrama de dispersión.pgfplots: problema en la leyenda al usar marcas personalizadasMe ha dado una pista sobre cómo proceder, pero no sé cómo hacer que esta marca dependa de una tercera variable. Por ejemplo, el siguiente código, ¿es posible obtener \pgfdeclareplotmark
la \node
etiqueta (que he codificado a {a}
continuación) de la label
columna de los datos?
\documentclass{article}
\usepackage{pgfplots}\pgfplotsset{compat=1.16}
\usepackage{pgfplotstable}
\pgfplotstableread{
y x label
1 1 a
2 2 b
3 3 c
}\testdata
\pgfdeclareplotmark{myshape} {\node[draw, rounded corners=2pt, color=blue, fill=white] {a};}
\begin{document}
\begin{tikzpicture}
\begin{axis}[]
\addplot[ mark=myshape] table[x=x, y=y] {\testdata};
\end{axis}
\end{tikzpicture}
\end{document}
Esto es lo que me gustaría lograr con las etiquetas. Gracias por cualquier ayuda.
Respuesta1
¿Sería una opción a utilizar nodes near coords
en su lugar?
\documentclass{article}
\usepackage{pgfplotstable}
\pgfplotsset{compat=1.16}
\pgfplotstableread{
y x label
1 1 a
2 2 b
3 3 c
}\testdata
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[
point meta=explicit symbolic,
nodes near coords,
nodes near coords align=center,
nodes near coords style={draw, rounded corners=2pt, color=blue, fill=white}
] table[x=x, y=y, meta=label] {\testdata};
\end{axis}
\end{tikzpicture}
\end{document}