我正在尝试创建一个自定义标记以在散点图中使用。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}