我正在尝试minor yticks
根据图的最终值添加轴ybar stacked
。我现在的位置如下:
\documentclass[tikz]{standalone}
\usepackage{pgfplotstable}
\pgfplotstableread{
Year Far Near Sd
2012 1.7786e+01 31.762 88
2013 6.2690e+01 153.828 48
2014 2.9644e+01 25.0714 13
}\datatableD
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=0,
enlarge x limits=0.15,
enlarge y limits={upper, value=0.15},
ybar stacked, bar width=1.5em,
point meta=explicit,
xtick=data,
every node near coord/.style={
yshift=6pt
},
nodes near coords align=center,
yticklabel style={xshift=-10pt},
minor ytick=data,
grid = minor
]
\addplot table [y=Far] \datatableD;
\addplot table [y=Near] \datatableD;
\addplot[nodes near coords*={\footnotesize $(\pgfmathprintnumber\pgfplotspointmeta)$}, white, color=black, draw=none] table [y expr=0, meta=Sd] \datatableD;
\end{axis}
\end{tikzpicture}
\end{document}
不幸的是,它看起来像是minor ytick=data
从列中返回一个值列表Far
,而不是总和Far + Near
,有什么想法吗?
在 MWE 中,为 添加了 3 个小刻度y = 17, 29, 62
。我需要在 处添加小刻度y = 17 + 31, 29 + 25, 62 + 153
。
答案1
我可以给出一个声明来解释这个问题。其他人可能会提供解决方法。
根据设计,minor ytick=data
结果为 y 坐标的刻度标签第一的情节(仅限)。
虽然这对于正常图来说是合理的,但对于堆叠图来说却是出乎意料的(也许是错误的)。
尽管如此,您仍需要手动创建所需的刻度标签列表;data
在这种情况下,魔法值毫无用处。
我会在待办事项清单上做个记录,以便在堆叠图中pgfplots
重新考虑。ytick=data