File Exchange

image thumbnail

MatPlotLib Perceptually Uniform Colormaps

version 2.0.0 (50 KB) by Stephen Cobeldick
MatPlotLib's default perceptually uniform colormap VIRIDIS and distinctive ColorOrder TAB10/VEGA10

66 Downloads

Updated 12 Nov 2019

View License

From MatPlotLib 2 and 3:
* the default sequential colormap VIRIDIS (as well as INFERNO, MAGMA, and PLASMA).
* the default line color order TAB10 (as well as TAB20, TAB20B, and TAB20C).
* the perceptually uniform cyclic colormap TWILIGHT.
* the colorblind-friendly sequential colormap CIVIDIS.

For MatPlotLib 2.0 new perceptually uniform colormaps were generated in the CAM02-UCS colorspace. The process is described here: <http://matplotlib.org/2.0.0rc2/users/dflt_style_changes.html>. The colormap data is available here <https://bids.github.io/colormap/> and the line colororder data here <https://github.com/vega/vega/wiki/Scales#scale-range-literals>.

The default MatPlotLib colormap was changed to the newly created VIRIDIS, replacing the awful JET/RAINBOW. The default line colororder was also changed to VEGA10 (renamed TAB10 in MatPlotLib 3).

### COLORMAP Examples ###

%% Plot the scheme's RGB values:
rgbplot(viridis(256))

%% New colors for the COLORMAP example:
load spine
image(X)
colormap(viridis)

%% New colors for the SURF example:
[X,Y,Z] = peaks(30);
surfc(X,Y,Z)
colormap(viridis)
axis([-3,3,-3,3,-10,5])

### Axes ColorOrder Examples ###

%% PLOT using matrices:
N = 10;
axes('ColorOrder',tab10(N),'NextPlot','replacechildren')
X = linspace(0,pi*3,1000);
Y = bsxfun(@(x,n)n*sin(x+2*n*pi/N), X(:), 1:N);
plot(X,Y, 'linewidth',4)

%% PLOT in a loop:
N = 10;
set(0,'DefaultAxesColorOrder',tab10(N))
X = linspace(0,pi*3,1000);
Y = bsxfun(@(x,n)n*sin(x+2*n*pi/N), X(:), 1:N);
for n = 1:N
plot(X(:),Y(:,n), 'linewidth',4);
hold all
end

%% LINE using matrices:
N = 10;
set(0,'DefaultAxesColorOrder',tab10(N))
X = linspace(0,pi*3,1000);
Y = bsxfun(@(x,n)n*cos(x+2*n*pi/N), X(:), 1:N);
line(X(:),Y)

Cite As

Stephen Cobeldick (2019). MatPlotLib Perceptually Uniform Colormaps (https://www.mathworks.com/matlabcentral/fileexchange/62729-matplotlib-perceptually-uniform-colormaps), MATLAB Central File Exchange. Retrieved .

Comments and Ratings (4)

Michael

savvasgk

Ander Biguri

Martin Ward

Updates

2.0.0

* Include colormaps CIVIDIS and TWILIGHT
* Rename VEGA* to TAB*, matching MatPlotLib 3

1.0.0.0

* Change blurb.

1.0.0.0

* Added image.

MATLAB Release Compatibility
Created with R2010b
Compatible with any release
Platform Compatibility
Windows macOS Linux