我必须使用 PGFPlots 制作一个(简单的)直方图,但我不知道为什么它没有在 X 轴上显示所有系列。
最小工作示例:
\begin{tikzpicture}
\begin{axis}[
x tick label style={
/pgf/number format/1000 sep=},
ylabel={\small{Efficienza (\milli\gram\per\gram)}},
width = 15.4cm, height = 10.7cm,
legend style={
font=\scriptsize,
cells={anchor=west}
},
legend pos=north west,
symbolic x coords={Spugna 1,Spugna 2,Spugna 3,Spugna 4,Spugna 5,Spugna 6},
xtick=data,
tick label style={font=\scriptsize},
ybar interval=0.7,
]
\addplot coordinates {(Spugna 1,0.56) (Spugna 2,2.84) (Spugna 3,3.57) (Spugna 4,5.45) (Spugna 5,1.12) (Spugna 6,4.29)};
\addplot coordinates {(Spugna 1,0.66) (Spugna 2,3.10) (Spugna 3,3.77) (Spugna 4,5.61) (Spugna 5,1.27) (Spugna 6,4.27)};
\legend{Reali,Fitting}
\end{axis}
\end{tikzpicture}
显然有 6 个系列,但 PGFPlots 仅显示其中 5 个:
但是,如果我放入,ybar
则ybar interval=0.7
所有系列都会被排版(但情节很丑陋):
我该如何修复它?
答案1
我想对此写一个适当的答案,以供将来参考。
事实证明,我实际上无法在庞大的 PGFPlot 手册中找到正确的东西 :) 所以我修复了它(感谢 Stefan)使用ybar
和 bar width = .8cm
。
最终代码:
\begin{tikzpicture}
\begin{axis}[
x tick label style={
/pgf/number format/1000 sep=},
ylabel={\small{Efficienza (\milli\gram\per\gram)}},
width = 15.4cm, height = 10.7cm,
legend style={
font=\scriptsize,
cells={anchor=west}
},
legend pos=north west,
symbolic x coords={Spugna 1,Spugna 2,Spugna 3,Spugna 4,Spugna 5,Spugna 6},
xtick=data,
tick label style={font=\scriptsize},
ybar,
bar width = .8cm
]
\addplot coordinates {(Spugna 1,0.56) (Spugna 2,2.84) (Spugna 3,3.57) (Spugna 4,5.45) (Spugna 5,1.12) (Spugna 6,4.29)};
\addplot coordinates {(Spugna 1,0.66) (Spugna 2,3.10) (Spugna 3,3.77) (Spugna 4,5.61) (Spugna 5,1.27) (Spugna 6,4.27)};
\legend{Reali,Fitting}
\end{axis}
\end{tikzpicture}