pgfplots.colorbrewer与\addplot选项冲突问题咨询
pgfplots.colorbrewer与\addplot选项冲突问题咨询
嘿,我来帮你捋捋这个问题~这其实不是bug,是pgfplots的默认设计行为哦!
你遇到的情况是:当直接在\addplot后面加方括号写选项(比如domain=-2:2)时,pgfplots会认为你要完全自定义这个plot的样式,就会忽略掉之前设置的cycle list(也就是你用的Set1-5配色),所以线条就变回默认的黑色了。
解决方法很简单,给你两种常用的方案:
- 把
\addplot改成\addplot+,加号的作用是追加你的自定义选项,同时保留cycle list里的配色。修改后这行代码就变成:\addplot+[domain=-2:2]{x^2}; - 如果你希望所有plot都用同一个domain范围,也可以把
domain=-2:2放到axis环境的全局设置里,这样既统一了范围,也不会破坏cycle list的配色:\begin{axis}[cycle list name=Set1-5,xlabel=$x$,ylabel=$y$,domain=-2:2]
给你一个完整的修改后代码示例,用第一种方案的版本:
\documentclass[tikz]{standalone} \usepackage{pgfplots} \usetikzlibrary{pgfplots.colorbrewer} \pgfplotsset{compat=1.18, cycle list/Set1-5,} \begin{document} \begin{tikzpicture} \begin{axis}[cycle list name=Set1-5,xlabel=$x$,ylabel=$y$] \addplot{x^3}; \addplot+[domain=-2:2]{x^2}; \end{axis} \end{tikzpicture} \end{document}
简单总结下原理:\addplot[]是替换式设置样式,会覆盖cycle list;\addplot+[]是追加式设置,在保留cycle list样式的基础上加上你的自定义选项,这样配色和domain就能共存啦~
备注:内容来源于stack exchange,提问作者chenzhongpu
相关产品推荐
相关产品推荐

