pgfplots 从 colorbar 中取样颜色

pgfplots 从 colorbar 中取样颜色

我想使用例如 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}

相关内容