我正在使用 pgfplots 制作条形图,并想在某些条形上方放置星号以显示统计显著性 (p < 0.05)。有什么想法吗?
以下是一个示例图:
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={(a),(b),(c),(d),(e)},
xtick=data]
\addplot[ybar] coordinates {
((a),51365) % I'd like to put an asterisk above some of these
((b),74531)
((c),52862)
((d),78999)
((e),71825)
};
\end{axis}
\end{tikzpicture}
答案1
我将nodes near coords
结合使用point meta=explicit symbolic
以下功能:
\documentclass[border=5mm]{standalone}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={(a),(b),(c),(d),(e)},
xtick=data,
ymin=0,
point meta=explicit symbolic,
nodes near coords
]
\addplot[ybar] table [meta index=2, header=false] {
(a) 51365 *
(b) 74531 \\
(c) 52862 *
(d) 78999 \\
(e) 71825 \\
};
\end{axis}
\end{tikzpicture}
\end{document}
答案2
不确定这是否是一个令人满意的答案,但您可以指定xticklabels={(a),(b),(c),(d),(e)}
,使用数值作为 x 值,然后将节点放置在您想要突出显示的节点上方:
代码:
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
xticklabels={(a),(b),(c),(d),(e)},
xtick=data,
]
\addplot[ybar] coordinates {
(1,51365) % I'd like to put an asterisk above some of these
(2,74531)
(3,52862)
(4,78999)
(5,71825)
};
\node [above, red, font=\Large] at (axis cs: 1,51365) {$\ast$};
\end{axis}
\end{tikzpicture}
\end{document}