I wish to make a colormap where the distinction between numbers smaller than 0 and numbers greater than 0 is emphasised. So I want to make a colormap that has one sharp transition in the middle and fades to different colours on the edges. How can I do it? In the manual, I only found how to make gradual transitions.

2 Answers 2


You can declare your own color map, defining two colours for the transition point. Note that you might need to manually set a finer step size using the optional argument in the color map definition, to avoid incorrect colors near the transition point:


        rgb255(0pt)=(255, 200, 0);
        rgb255(500pt)=(255, 75, 0);
        rgb255(500pt)=(0, 100, 255);
        rgb255(1000pt)=(0, 255, 255)

\addplot [scatter, samples=50] {x};

  • 1
    Please note that the way your colormap is defined (two different color values at the same coordinate) does not work with all PDF viewers. See here for a solution: tex.stackexchange.com/questions/258873/…
    – NOhs
    Commented Aug 6, 2015 at 11:11

In case you want to have only sharp transitions, you may use:

colormap={blackwhite}{[2pt] % colormap steps: 2 pt
    % white: from 0000 to 1000
    % gray:  from 1000 to 2000
    % black: from 2000 to 3000

enter image description here

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .