给定一些数据(来自文件),我想使用前两列作为坐标,最后一列作为每个点的标签。
x y label
123 5.2 name
我使用 table 命令读取前两列作为数据:
\begin{tikzpicture}
\begin{axis}
\addplot+[only marks,x=x, y=y, ] table {Data.dat};
\end{axis}
\end{tikzpicture}
第二列的数据应以简单文本的形式出现在每个散点上方。
一个有希望的选项似乎是靠近坐标的选项节点,但我不知道如何使用文件中的数据并将其与之结合起来。
答案1
nodes near coords
打印meta
每个数据点的值,默认为坐标y
。要打印其他内容,您必须定义值meta
是什么。在您的例子中,您希望为每个数据点明确提供值meta
(而不是计算它或使用常量值),因此您必须设置point meta=explicit symbolic
(symbolic
告诉 PGFPlots 不要通过数字解析器传递值)。然后您可以meta=name
在\addplot table [...]
选项中设置以指定meta
应从列中获取值name
。
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
nodes near coords,
point meta=explicit symbolic
]
\addplot table [meta=label] {Data.dat};
\end{axis}
\end{tikzpicture}
\end{document}