我正在尝试使用以下代码生成条形图。如您所见,条形图没有从零开始,而它应该从零开始。它从零以下开始!!!有人能帮帮我吗?
\documentclass[a4paper,11pt,twoside,openright]{scrreprt}
\usepackage{tikz} %used for pgfplots
\usepackage{pgfplots, pgfplotstable} % to create diagrams, plots, ...
\usepackage{filecontents}
\begin{document}
% Results IPPC
\begin{filecontents}{labelIPPC.dat}
X start Container T-DO T-MRF MRF T-Rec label
1 0 335489 4894217 536423 944172 82159 \space
2 0 428004 101754 1033659 3289363 64989 \space
3 0 508863 101754 739925 1040748 89001 \space
4 0 254431 101754 739925 1040748 89001 IPPC\space 2013
5 0 254431 101754 683838 1016135 86948 \space
6 0 254431 101754 652601 991521 85590 \space
\end{filecontents}
\begin{figure}[!htbp]
\centering
\caption{Results of ecological analysis for future scenarios}
\begin{tikzpicture}
\pgfplotsset{
ybar stacked,
%set layers,
width=0.7\textwidth,
every axis legend/.append style={nodes={right}},
legend style={at={(0.5,-0.30)}, anchor=north, legend columns=1},
x tick label style={rotate=90},
xticklabels={Scenario 1,Scenario 2,Scenario 3,Scenario 4,Scenario 5,Scenario 6},
xtick={1,...,6},
point meta=explicit symbolic, % label und nicht zahl darstellen
}
\begin{axis} [
scale only axis,
axis y line*=left,
y tick label style={/pgf/number format/1000 sep=',
/pgf/number format/fixed,
/pgf/number format/sci},
scaled ticks=false,
ylabel near ticks,
ylabel={UBP (Eco-points)},
ybar,
bar shift=-0.34cm, % half of bar width
bar width=0.6cm,
]
%\addplot + [color=red!50!white] table[x=X, y=start, meta=label] {labelIPPC.dat};
\addplot + [color=red!50!white] table[x=X, y=Container, meta=label] {labelIPPC.dat};
\addlegendentry{Container}
\addplot + [color=green!50!white] table[x=X, y=T-DO, meta=label] {labelIPPC.dat};
\addlegendentry{Transport to drop-off site}
\addplot + [color=blue!50!white] table[x=X, y=T-MRF, meta=label] {labelIPPC.dat};
\addlegendentry{Transport to MRF}
\addplot + [color=orange!50!white] table[x=X, y=MRF, meta=label] {labelIPPC.dat};
\addlegendentry{Material recovery facility}
\addplot + [color=black!50!white, nodes near coords, every node near coord/.append style={rotate=90, anchor=west}] table[x=X, y=T-Rec, meta=label] {labelIPPC.dat};
\addlegendentry{Transport to recycling facility}
\end{axis}
\end{tikzpicture}
\label{fig:Results_Scenarios}
\end{figure}
\end{document}
如果包含注释的 \addplot,它会从零开始,但图例会乱序。我真的希望有人能帮助我。
非常感谢
答案1
我遇到了同样的问题,并根据以下评论达斯比斯以下对我有用(并且还修复了您的示例):
除此以外ymin=0
,让条形图从轴的正上方开始,您还可以enlargelimits=true
向轴选项添加附加选项,以使空白回到轴和条形图的起点之间。
不过,我仍然不明白的是,我有一个堆积条形图,其中我不需要明确使用这些选项,而另一个仅有的工作和这些显式选项。这些图之间的唯一区别在于,第一个图有附加addplot
命令,因此其条形图由更多段组成。
我希望这有帮助。