从蓝色到白色渐变的 contourf 颜色图

contourf colormap from blue to white with gradient

我想更改绘图中的颜色图,从黄色到蓝色,从蓝色到白色;只有两种渐变颜色。可能吗?

代码:

x = randn(1000,1);
y = randn(1000,1);
[N,Xedges,Yedges] = histcounts2(x,y);
contourf(N)

非常欢迎任何帮助。

您可以使用 colormap 函数指定要在图中使用的颜色图。颜色图只是一个 three-column 矩阵,其值介于 01 之间,代表 R、G、B 分量,因此您可以手动创建它。例如,要生成一个从蓝色到白色的简单颜色图:

N = 256; % number of colors
cmap = [linspace(1,0,N).' linspace(1,0,N).' ones(N,1)]; % decreasing R and G; B = 1
colormap(cmap)

但是,此色图在感知上并不均匀,也就是说,感知到的“色差”在整个颜色范围内并不均匀。要生成从蓝色到白色的感知均匀颜色图,我建议使用 user-contributed BrewerMap 函数和 'Blues' 选项:

N = 256; % number of colors
cmap = brewermap(N, 'Blues');
colormap(cmap)