ColorBrewer: Attractive and Distinctive Colormaps

版本 3.2.3 (18.5 KB) 作者: Stephen23
The complete palette of ColorBrewer colormaps. Simple selection by scheme name and map length.

24.3K 次下载

更新时间 2022/3/2

来自 GitHub

在 GitHub 上查看许可证

BREWERMAP provides all ColorBrewer colorschemes for MATLAB, with simple selection by colormap length and colorscheme name. Alternatively the colorscheme name can be preselected, after which only the colormap length is required to define an output colormap.
BREWERMAP is compatible with all MATLAB functions that require a colormap. The function consists of just one M-file that provides all of the ColorBrewer colorschemes (no mat file, no third party files, no file-clutter!). Downsampling or interpolation or repetition of the nodes occurs automatically, if required. Interpolation uses the Lab colorspace.
% New colors for the COLORMAP example:
S = load('spine.mat');
% New colors for the SURF example:
[X,Y,Z] = peaks(30);
% New colors for the CONTOURCMAP example:
brewermap('PuOr'); % preselect the colorscheme.
load topo
load coast
worldmap(topo, topolegend)
contourfm(topo, topolegend);
contourcmap('brewermap', 'Colorbar','on', 'Location','horizontal',...
'TitleString','Contour Intervals in Meters');
plotm(lat, long, 'k')
% Plot a scheme's RGB values:
rgbplot(brewermap(NaN, 'Blues')) % standard
rgbplot(brewermap(NaN,'-Blues')) % reversed
% View information about a colorscheme:
[~,num,typ] = brewermap(NaN,'Paired')
num = 12
typ = 'Qualitative'
% Multiline plot using matrices:
N = 6;
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)
% Multiline plot in a loop:
N = 6;
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
Bonus Functions
BREWERMAP_PLOT creates a figure which shows the nodes of all ColorBrewer colorschemes.
BREWERMAP_VIEW creates an interactive figure that allows selection of the colorscheme, and that contains two colorbars showing colors of the colormap and the grayscale equivalent.
R2014b or later: BREWERMAP_VIEW can also update other axes' or figures' colormaps in real time, for example:
S = load('spine');
The function BREWERMAP:
  • Consists of just one convenient M-file (no .mat files or file clutter).
  • Has no third-party file dependencies.
  • Has no special toolbox dependencies.
  • Interpolates in the Lab colorspace.
  • Requires just the standard ColorBrewer colorscheme name to select the colorscheme.
  • Accepts the colorscheme name as a string scalar or a character vector.
  • Supports all ColorBrewer colorschemes.
  • Outputs a MATLAB standard N-by-3 numeric RGB array.
  • Uses a default length the same as MATLAB's colormap functions.
  • Is compatible with all MATLAB functions that use colormaps (eg: CONTOURCMAP).
  • Includes the option to reverse the colormap color sequence.
  • Does not break ColorBrewer's Apache license conditions (unlike many on MATLAB File Exchange).
This product includes color specifications and designs developed by Cynthia Brewer ( See the ColorBrewer website for further information about each colorscheme, colorblind suitability, licensing, and citations.


Stephen23 (2023). ColorBrewer: Attractive and Distinctive Colormaps (, GitHub. 检索来源 .

MATLAB 版本兼容性
创建方式 R2010b
与 R2009a 及更高版本兼容
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

无法下载基于 GitHub 默认分支的版本

版本 已发布 发行说明

See release notes for this release on GitHub:


See release notes for this release on GitHub:


* update repository


* Default size to suit HG2.
* Accepts StringScalar and CharVector text input.
* Improve error messages.
* Simplify Mfile palette list.


* Add error IDs.
* Improve input checking.
* Split PLOT function.
* Improve interpolation accuracy.

* Update description.

* Add NaN input option.
* Simplfiy BREWERMAP_VIEW figure creation.

* Interpolate in Lab colorspace.

* Update FEX blurb.
* Include "brewermap_view.m" for interactive colormap viewing and selection.

* Improve interpolation method.
* Update screenshot image.

* Improve interpolation method.

- Re-insert that disappearing newline at after the first paragraph. Why does this happen, MATLAB?

* Change to GitHub version, complete with Apache license.

- Downloadable as toolbox

- Simplify spreadsheet downloading instructions.

- Allow case-insensitive scheme selection.
- Simplify downsampling indexing.

- Add third output: colorscheme type as a string.
- Better input checking and error messages.

要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库
要查看或报告此来自 GitHub 的附加功能中的问题,请访问其 GitHub 仓库