You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.15 11:03:10