MATLAB plot绘图颜色及配色
目录:
1.matlab中的默认缩写名称颜色;
2. 采用RGB三元组指定颜色;
3. 采用16进制颜色代码(只是用于2019a版本及以后版本);
4. 参考
1. matlab中的默认缩写名称颜色
plot绘图指定线条和数据标记点的颜色,可以采用matlab中的默认缩写名称的颜色,如下表所示:
颜色名称 | 缩写 | RGB三元组 |
‘black’ | ‘k’ | [0 0 0] |
‘blue’ | ‘b’ | [0 0 1] |
‘green’ | ‘g’ | [0 1 0] |
‘cyan’ | ‘c’ | [0 1 1] |
‘red’ | ‘r’ | [1 0 0] |
‘magenta’ | ‘m’ | [1 0 1] |
‘yellow’ | ‘y’ | [1 1 0] |
‘white’ | ‘w’ | [1 1 1] |
示例:
t = linspace(0,1,21);
y1 = sin(2*pi*t);
plot(t, y1, 'b');
2. 采用RGB三元组指定颜色
通常RGB颜色范围在0-255,matlab中的RGB三元组的颜色范围在0至1,直接把RGB颜色除以255就可以了。
如蓝色的RGB为(0,0,255),转换成matlab中的RGB三元组为[0 0 255]/255=[0 0 1]。
所以用plot(t, y1, 'color', [0 0 255]/255);与直接采用上面plot(t, y1, 'b')显示的结果是一样的。
Matlab官方教程上给出了几种比较好看的颜色RGB三元组,如下表所示:
RGB三元组 | 十六进制颜色代码 | 颜色 |
[0 0.4470 0.7410] | ‘#0072BD’ | 普蓝 |
[0.8500 0.3250 0.0980] | ‘#D95319’ | 暗橘 |
[0.9290 0.6940 0.1250] | ‘#EDB120’ | 中黄 |
[0.4940 0.1840 0.5560] | ‘#7E2F8E’ | 紫 |
[0.4660 0.6740 0.1880] | ‘#77AC30’ | 树绿 |
[0.3010 0.7450 0.9330] | ‘#4DBEEE’ | 浅天蓝 |
[0.6350 0.0780 0.1840] | ‘#A2142F’ | 苝褐 |
例子:
t = linspace(0,1,11);
y1 = sin(2*pi*t);
y2 = sin(2*pi*t)+2;
y3 = sin(2*pi*t)+4;
figure(1)
plot(t,y1,'o','color',[0.9290 0.6940 0.1250], 'markersize',10, 'linewidth', 2);
hold on;
plot(t,y2,'o','color',[0.4940 0.1840 0.5560], 'markersize',10, 'linewidth', 2);
hold on;
plot(t,y3,'o','color',[0.4660 0.6740 0.1880], 'markersize',10, 'linewidth', 2);
set(gca, 'linewidth', 1.5);
这个配色简直长在了我的审美点上!
3. 采用16进制颜色代码(只是用于2019a版本及以后版本)
Matlab中也可采用16进制颜色代码指定颜色,但只适用于2019a版本及以后版本,可以直接plot(t,y1,'color', '#77AC30')。
对于2019a之前的版本,需要把16进制颜色代码换成0到1范围的RGB三元组,转换方法如下:
colorstr='#77AC30';
color = sscanf(colorstr(2:end),'%2x%2x%2x',[1 3])/255;
plot(t,y1,'color',color,'linewidth',2);
4. 参考
官网帮助中心 https://ww2.mathworks.cn/help/matlab/creating_plots/specify-plot-colors.html
一个好用的RGB颜色网站 https://www.rapidtables.com/web/color/html-color-codes.html
【原创,转载请注明出处】。