我想使用例如 RGB 模型从 pgfplots 颜色图中的颜色样本中获取颜色定义。当我选择colormap/bluered
时,colorbar style={samples=10}
我需要具有这些特定颜色的 xcolor 定义来绘制不同的曲线。有没有一种自动方法可以从颜色图定义中生成这些颜色规范?
答案1
mapped color
您可以通过调用宏来从颜色图中获取一种颜色\pgfplotscolormapdefinemappedcolor{<value>}
,其中<value>
是 0 到 1000 之间的数字,该数字以线性方式映射到当前颜色图中。
为了对不同的图使用不同的颜色,需要在 中调用此宏execute at begin plot visualization
,否则所有图最终都会具有相同的颜色:
\documentclass[border=1mm]{standalone}
\usepackage{pgfplots}
%\usepgfplotslibrary{colormaps}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
colormap/hot,
domain=0:360,
colorbar sampled,
colorbar style={samples=6},
point meta min=0,
point meta max=10
]
\pgfplotsinvokeforeach{1,...,5}{
\addplot [
execute at begin plot visualization={%
\pgfplotscolormapdefinemappedcolor{\numexpr#1*200-100\relax}
},
mapped color,
thick
] {#1*sin(x)};
}
\end{axis}
\end{tikzpicture}
\end{document}