我有一个带有分组条形的条形图。每组应包含组顶部的总和。
例子:
我的例子有两个问题:
- 估计 x 位置
- y 位置(高度)取决于第二根横线
我怎样才能将总数放到正确的位置?
该示例是使用此代码创建的:
\documentclass[border=5mm] {standalone}
\usepackage{pgfplots, pgfplotstable}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={Test},
ybar, ymin=3,
bar width=5mm,
enlarge y limits ={value=0.3,upper},
symbolic x coords={a,b,c,d},
xtick=data,
nodes near coords,
nodes near coords align={anchor=north},%Move values in bar anchor=mid
]
%Active
\addplot [fill=blue] coordinates {
({a},15) [xa]
({b},25)
({c},35)
({d},55)};
\addlegendentry{Active}
%Inactive
\addplot [fill=red] coordinates {
({a},60)
({b},50)
({c},40)
({d},30)}
[yshift=5mm]
node[pos=0] {a: 75}
node[pos=.25] {b: 75}
node[pos=.5] {c: 75}
node[pos=1] {d: 45};
\addlegendentry{Inactive}
\end{axis}
\end{tikzpicture}
\end{document}
评论:
- 这是另一个问题的后续: 如何获取具有单个值且总和位于顶部的堆叠条形图。
- 已经有一个类似的问题 使用条形图比较两组数据,如何每两个条形图绘制一个节点(显示比率)?
- 无需计算总和。代码已生成,我的生成器可以计算总和。但如果可以计算每组的总和就更好了。
答案1
\documentclass[border=5mm] {standalone}
\usepackage{pgfplots, pgfplotstable}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
title={Test},
ybar, ymin=3, ymax=80,
bar width=5mm,
symbolic x coords={a,b,c,d},
xtick=data,
nodes near coords,
nodes near coords align={anchor=north},%Move values in bar anchor=mid
]
%Active
\addplot [fill=blue] coordinates {
({a},15) [xa]
({b},25)
({c},35)
({d},55)};
\addlegendentry{Active}
%Inactive
\addplot [fill=red] coordinates {
({a},60)
({b},50)
({c},40)
({d},30)};
\addlegendentry{Inactive};
\node at (axis cs:a,65) {a: 75};
\node at (axis cs:b,55) {b: 75};
\node at (axis cs:c,45) {c: 75};
\node at (axis cs:d,60) {d: 85};
\end{axis}
\end{tikzpicture}
\end{document}