带有堆叠条形图的 Pgfplot 条形图

带有堆叠条形图的 Pgfplot 条形图

我如何创建一个 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}

结果

在此处输入图片描述

相关内容