我想将其定位nodes near coords
在相应栏的底部,就在 X 轴旁边。
以下是我现在得到的信息:
\documentclass{report}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,
ymin=0, yticklabel style={/pgf/number format/fixed},
symbolic x coords={0,1,2,3}, enlarge x limits=0.15,
every node near coord/.append style={font=\tiny, yshift=-30}]
\addplot+ [nodes near coords, point meta=explicit symbolic]
table[x index=0, y index=1, meta index=3] {
0 0.1872 0.0040 0
1 0.0358 0.0017 22
2 0.0358 0.0017 23
3 0.0358 0.0017 24
};
\end{axis}
\end{tikzpicture}
\end{document}
我认为如果我能写出类似yshift=\getcurrentvalueofy
(或yshift=\getbarheight
)的内容,问题就会解决。我试过了\pgfkeysvalueof{/data point/y}
,但我必须承认我并不真正明白我在做什么,所以没有成功。
答案1
y
您可以使用键visualization depends on=y \as \rawy
(其中是您选择的宏名称)使坐标值可用\rawy
。然后您可以使用移动节点shift={(axis direction cs:0,-\rawy)}
。请注意,您必须使用,axis direction cs
因为在放置节点时坐标系会移动和缩放。
\documentclass{report}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ybar,
ymin=0, yticklabel style={/pgf/number format/fixed},
visualization depends on=y \as \rawy,
symbolic x coords={0,1,2,3}, enlarge x limits=0.15,
every node near coord/.append style={
font=\tiny,
shift={(axis direction cs:0,-\rawy)}
}
]
\addplot+ [nodes near coords, point meta=explicit symbolic]
table[x index=0, y index=1, meta index=3] {
0 0.1872 0.0040 0
1 0.0358 0.0017 22
2 0.0358 0.0017 23
3 0.0358 0.0017 24
};
\end{axis}
\end{tikzpicture}
\end{document}