使用 pgfplots,如何制作和使用中间有急剧转变的颜色图?

使用 pgfplots,如何制作和使用中间有急剧转变的颜色图?

我希望制作一个颜色图,其中强调小于 0 的数字和大于 0 的数字之间的区别。所以我想制作一个颜色图,它在中间有一个急剧的过渡,在边缘逐渐变为不同的颜色。我该怎么做?在手册中,我只找到了如何进行渐进式过渡。

答案1

您可以声明自己的颜色图,为过渡点定义两种颜色。请注意,您可能需要使用颜色图定义中的可选参数手动设置更精细的步长,以避免过渡点附近的颜色不正确:

\documentclass{article}
\usepackage{pgfplots}
\begin{document}

\pgfplotsset{
    colormap={blackwhite}{[5pt]
        rgb255(0pt)=(255, 200, 0);
        rgb255(500pt)=(255, 75, 0);
        rgb255(500pt)=(0, 100, 255);
        rgb255(1000pt)=(0, 255, 255)
    },
}

\begin{tikzpicture}
    \begin{axis}[colorbar]
\addplot [scatter, samples=50] {x};
\end{axis}
\end{tikzpicture}

\end{document}

答案2

如果你只想要急剧的转变,你可以使用:

colormap={blackwhite}{[2pt] % colormap steps: 2 pt
    % white: from 0000 to 1000
    rgb(0000pt)=(1.0,1.0,1.0);
    rgb(1000pt)=(1.0,1.0,1.0);
    % gray:  from 1000 to 2000
    rgb(1000pt)=(0.5,0.5,0.5);
    rgb(2000pt)=(0.5,0.5,0.5);
    % black: from 2000 to 3000
    rgb(2000pt)=(0.0,0.0,0.0);
    rgb(3000pt)=(0.0,0.0,0.0);
},

在此处输入图片描述

相关内容