
Я пытаюсь создать пользовательский знак для использования в диаграмме рассеяния.pgfplots: проблема в легенде с использованием пользовательских метокдал подсказку, как действовать, но я не знаю, как сделать так, чтобы эта метка зависела от третьей переменной. Например, код ниже, возможно ли получить \pgfdeclareplotmark
метку \node
(которую я жестко закодировал {a}
ниже) из label
столбца в данных?
\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}
Вот чего я хотел бы добиться с помощью этикеток. Спасибо за любую помощь.
решение1
Можно ли использовать его 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}