我有一个使用 pgfplot 绘制的条形图,并从 CSV 文件中读取值。有没有办法在每个条形上方添加一个数字,该数字来自我的 CSV 文件中的另一列?
答案1
当然有,您可以使用\addplot[point meta=explicit]
(或explicit symbolic
用于非数字元数据)并提供table [meta=<column name>]
。要使节点显示在图中,请提供轴nodes near coords
选项。
我从手册中窃取了一些代码来制作 MWE:
\documentclass{article}
\usepackage{filecontents,pgfplots}
\pgfplotsset{compat=1.12}
\begin{filecontents*}{table.csv}
x, y, type
0, 0.8, a
1, 0.50235, b
2, 0.86873, c
3, 0.99997, d
4, 0.04889, e
5, 0.54402, f
\end{filecontents*}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar,
nodes near coords,
nodes near coords align={vertical},
]
\addplot[point meta=explicit symbolic] table [x=x, y=y, meta=type, col sep=comma] {table.csv};
\end{axis}
\end{tikzpicture}
\end{document}