我制作了一个图表,但它根本不是我想要的。有两个问题让我很困扰:1.) 条形图应该位于底部,但它们与 x 轴之间有一个空格。2.) E1/E4、E2/E5 和 E3/E6 应该具有相同的颜色。
这是我的代码:
\documentclass{standalone}
\usepackage{pgfplots,pgfplotstable}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
symbolic x coords={E1, E4 (dyn.), E2, E5 (dyn.), E3, E6 (dyn.)},
xtick=data,
width=\linewidth,
height=6cm
]
\addplot[ybar,fill=blue, bar width = 1cm] coordinates {
(E1, 8)
(E2, 15)
(E3, 50)
(E4 (dyn.), 4)
(E5 (dyn.), 17)
(E6 (dyn.), 40)
};
\end{axis}
\end{tikzpicture}
\end{document}
希望您能帮助我。谢谢。
答案1
要固定 y 轴,请添加ymin=0
到axis
环境中。要获得不同的颜色,您可以将绘图分成 3 个,每个绘图都有不同的颜色。
编辑:我一定是瞎了。原始解决方案没有显示最后 4 个坐标的标签。要解决这个问题,xtick=data
必须将 替换为xtickmin=E1, xtickmax=E6 (dyn.)
。
\documentclass{standalone}
\usepackage{pgfplots,pgfplotstable}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
ymin=0,% added
symbolic x coords={E1, E4 (dyn.), E2, E5 (dyn.), E3, E6 (dyn.)},
%xtick=data, % replaced
xtickmin=E1, xtickmax=E6 (dyn.),
width=\linewidth,
height=6cm
]
% seperated into 3 plots
\addplot[ybar,fill=blue!50, bar width = 1cm] coordinates {
(E1, 8)
(E4 (dyn.), 4)
};
\addplot[ybar,fill=red!50, bar width = 1cm] coordinates {
(E2, 15)
(E5 (dyn.), 17)
};
\addplot[ybar,fill=green!50, bar width = 1cm] coordinates {
(E3, 50)
(E6 (dyn.), 40)
};
\end{axis}
\end{tikzpicture}
\end{document}