PgfPlots ybar 和 ybar 堆叠冲突

PgfPlots ybar 和 ybar 堆叠冲突

我有一个文档,其中包含 2 个文档。在第一个文档中,我有一个 pgfPlot,\pgfplotsset{ ybar stacked, ...etc }在第二个文档中有一个\pgfplotsset{ ybar, ..etc },但第一个 pgfplotsset 与第二个发生冲突,而且第二个文档的“ybar stacked”选项处于活动状态。

这里是文件:

主要的:

 \begin{document}

\include{chapter1}
\include{chapter2}

\end{document}

第1章

    \pgfplotsset{
ybar stacked, 
enlargelimits =0.05,
legend style ={at={(0.5,-0.5)},
anchor=north,
legend columns=-1},
ylabel={Ore},
xtick=data,
x tick label style={rotate=45,anchor=east},
symbolic x coords={Enrico Rotundo,Federico Poli,Giacomo Fornari,Gianluca Donato,Luca De Franceschi,Nicolò Tresoldi,Serena Girardi}
}

\begin{figure}[H]
\begin{tikzpicture}
\begin{axis}
\input{columnChart_rr}
\legend{amministratore, analista, progettista, programmatore, responsabile, verificatore}
\end{axis}
\end{tikzpicture}
\caption{Ore per componente, periodo di analisi}
\end{figure}

第2章

\pgfplotsset{
ybar, 
enlargelimits =0.10,
legend style ={at={(0.5,-0.5)},
anchor=north,
legend columns=-1},
ylabel={Ore},
xtick=data,
x tick label style={rotate=45,anchor=east},
symbolic x coords={Amministratore, Analista, Progettista, Programmatore, Responsabile, Verificatore},
}


    \begin{figure}[H]
\centering
\begin{tikzpicture}
\begin{axis}
\input{columnChart_consuntivo_rr}
\legend{preventivate,consumate}
\end{axis}
\end{tikzpicture}
\caption{Differenza preventivo consuntivo per ruolo, periodo di analisi}
\end{figure}

问题是 chapter2 使用了 chapter1 文件中的 ybar 堆叠选项。

答案1

您可以通过设置来停用堆叠stack plots=false

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9, samples=5}

\begin{document}

\pgfplotsset{ybar stacked}
\begin{tikzpicture}
\begin{axis}
\addplot {rnd};
\addplot {rnd};
\end{axis}
\end{tikzpicture}

\pgfplotsset{ybar, stack plots=false}
\begin{tikzpicture}
\begin{axis}
\addplot {rnd};
\addplot {rnd};
\end{axis}
\end{tikzpicture}
\end{document}

或者,您可以ybar stacked通过直接将选项提供给环境来将其保持在本地axis,而不是使用以下命令全局设置它\pgfplotsset

\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{compat=1.9, samples=5}

\begin{document}

\begin{tikzpicture}
\begin{axis}[ybar stacked]
\addplot {rnd};
\addplot {rnd};
\end{axis}
\end{tikzpicture}

\begin{tikzpicture}
\begin{axis}[ybar]
\addplot {rnd};
\addplot {rnd};
\end{axis}
\end{tikzpicture}
\end{document}

相关内容