
Estou tentando criar uma marca personalizada para usar em um gráfico de dispersão.pgfplots: problema na legenda usando marcas personalizadasdeu uma dica de como proceder mas não sei como fazer essa marca depender de uma terceira variável. Por exemplo, no código abaixo, é possível obter \pgfdeclareplotmark
o \node
rótulo (que codifiquei {a}
abaixo) da label
coluna nos dados?
\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}
Isso é o que eu gostaria de alcançar com os rótulos. Obrigado por qualquer ajuda.
Responder1
Seria uma opção para usar nodes near coords
?
\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}