我如何创建一个 pgfplot,使每个“x 轴上的点”都有两个堆叠的 ybar?
我想要的是这样的:
我已经有一个图表,其中每个 x 点都有一个堆叠条形图。一些关于如何扩展它的提示或示例链接就足够了。
答案1
我不得不尝试,但我认为最终我同意敲击:这有点繁琐。您可以使用两个axis
并使用(目前为止相当方便的)bar shift=<lenth>
选项,但是,根据图片的宽度,您必须进行一些实验。此外,您必须使用和,ymin=<number>
否则ymax=<number>
y 轴将无法正确对齐。下面是一个例子来说明它可以用一点麻烦来完成:
代码
\documentclass[parskip]{scrartcl}
\usepackage[margin=15mm]{geometry}
\usepackage{pgfplots}
\pgfplotsset{width=10cm}
\begin{document}
\begin{tikzpicture}
\begin{axis}[ybar stacked,bar shift=7pt,ymin=0,ymax=11,symbolic x coords={A,B,C,D,E}]]
\addplot coordinates
{(A,1) (B,1) (C,3) (D,2) (E,1.5)};
\addplot coordinates
{(A,1) (B,1) (C,3) (D,2) (E,1.5)};
\addplot coordinates
{(A,1) (B,1) (C,3) (D,2) (E,1.5)};
\end{axis}
\begin{axis}[ybar stacked,bar shift=-7pt,ymin=0,ymax=11,symbolic x coords={A,B,C,D,E}]
\addplot+[fill=blue!50!gray] coordinates
{(A,1.5) (B,1.5) (C,3.5) (D,2.5) (E,1)};
\addplot+[fill=red!50!gray] coordinates
{(A,1.5) (B,1.5) (C,3.5) (D,2.5) (E,1)};
\addplot+[fill=yellow!50!gray] coordinates
{(A,1.5) (B,1.5) (C,3.5) (D,2.5) (E,1)};
\end{axis}
\end{tikzpicture}
\end{document}