让自定义标记依赖于变量

让自定义标记依赖于变量

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

相关内容