我拥有的: 我想将 colorbrewer 方案“Set1”的特定颜色分配给绘图曲线(而不是按照它们的“顺序线”使用它们)。这意味着“模拟 1”的曲线应该是红色,“模拟 2”的曲线应该是紫色。在 Brewer 颜色中,可以将有问题的颜色称为 Set1-4-4(或 Set1-8-4 等)。但是,我似乎在语法上有一个错误,如下面的 MWE 所示。
\definecolor
如果我使用显示的 Brewers RGB 颜色进行工作,它确实会给出所需的结果这里,但我想应该有更好的方法?
我读到的内容: 默认颜色 pgfplot,预定义颜色循环à la RColorBrewer?
代码
\documentclass[]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{colorbrewer}
\pgfplotsset{cycle list/Set1}
\definecolor{c4}{RGB}{152,78,163}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
cycle list name=Set1,
]
\addplot+[thick] {1/x};
\addplot+[very thick, loosely dotted] {1/x};
%\addplot+[very thick, loosely dotted, c4] {1/x}; %working
%\addplot+[very thick, loosely dotted, purple] {1/x}; %not working
%\addplot+[very thick, loosely dotted, color=Set1-4-4] {1/x}; %not working
\legend{
{Simulation 1},
{Simulation 2},
};
\end{axis}
\end{tikzpicture}
\end{document}
答案1
下列的使用 colorbrewer 填充 pgfplot 条形图,您可以index of colormap
在绘图定义中将其用作键。您还需要选择所需的配色方案,包括子方案(此处:)Set1-4
。在轴定义中,您不需要在此特定情况下指示任何内容。
梅威瑟:
\documentclass[]{standalone}
\usepackage{tikz}
\usepackage{pgfplots}
\usepgfplotslibrary{colorbrewer}
\pgfplotsset{cycle list/Set1-4}
\pgfplotsset{compat=1.13}
\begin{document}
\begin{tikzpicture}
\begin{axis}
\addplot+[thick] {1/x};
\addplot+[very thick, dashed, index of colormap=4 of Set1-4] {1/x};
\legend{
{Simulation 1},
{Simulation 2},
};
\end{axis}
\end{tikzpicture}
\end{document}
结果: