在 pgfplots 中,我可以像下面的示例一样在本地更改绘图的颜色。但是,有没有办法全局更改文档中所有绘图的颜色?
\documentclass{article}
\usepackage{pgfplots}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot[color=red] coordinates{(0,0) (1,2)};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
一个好的方法是定义您自己的“循环列表”。
循环列表控制分配哪些颜色,除非您明确否决循环列表:
\documentclass{article}
\usepackage{pgfplots}
\pgfplotsset{
cycle list={red\\yellow\\green\\},
}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot coordinates{(0,0) (1,2)};
\addplot coordinates{(0,1) (1,3)};
\end{axis}
\end{tikzpicture}
\end{document}
这里,第一个图没有参数并使用当前的第一个条目cycle list
(即red
)。第二个图使用 的第二个条目cycle list
(即yellow
)。
这允许定义一个全局的放颜色。
如果全局cycle list
只包含一个条目,则所有图都将使用该条目。
同时,您仍然可以通过写入\addplot[<customized>]
(将忽略循环列表条目)或\addplot+[<customized>]
仍使用循环列表来推翻颜色定义,但它将附加自定义选项。
答案2
编辑:
Christian Feuersänger 的以下评论必须考虑到
解决方案是正确的 - 但每个轴图帖子都会将选项附加到每个图中。如果您希望一个图(例如)为绿色,则需要先清除每个轴图帖子
您可以通过以下方式设置every axis plot post
\documentclass{standalone}
\usepackage{pgfplots}
\pgfplotsset{%
every axis plot post/.append style={red,mark=none}}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot coordinates{(0,0) (1,2)};
\end{axis}
\end{tikzpicture}
\end{document}
在里面pgfplots 手册在第 236 页,您可以找到更多设置。例如every axis plot no