指定绘图颜色
MATLAB
®
使用一组默认颜色创建绘图。使用默认颜色创建的不同绘图将呈现清晰一致的外观。您也可以按需求自定义颜色。许多绘图函数都有用于自定义颜色的输入参数,如
c
或
colorspec
。这些函数返回的对象通常具有控制颜色属性。参数和属性的名称可以不同,但它们接受的值通常遵循一种通用模式。一旦熟悉了该模式,您就可以使用它来修改各种绘图。
以下示例使用
bar
和
scatter
函数来演示自定义颜色整体方法。有关特定绘图函数的有效颜色值的完整列表,请参考该函数的文档。
颜色值的类型
有以下几种颜色值:
-
颜色名称或短名称
- 指定颜色名称,例如
"red"
或
"green"
。短名称从颜色名称中指定字母,例如
"r"
或
"g"
。
-
RGB 三元组
- 通过指定一个三元素行向量来创建自定义颜色,该向量的元素是颜色中红、绿、蓝分量的强度。强度必须处于范围
[0,1]
中。例如,您可以用
[1 0.5 0.8]
来指定粉红色。
控制颜色的某些函数参数并不接受 RGB 三元组,但控制颜色对象属性通常接受。
-
十六进制颜色代码(
自 R2019a 开始提供
)
- 通过以下方式创建一个自定义颜色:指定一个字符串或字符向量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是
0
到
F
。这些值不区分大小写。因此,颜色代码
"#FF8800"
、
"#ff8800"
、
"#F80"
和
"#f80"
都指定相同的橙色色调。
某些控制颜色的函数参数不接受十六进制颜色代码,但您可以使用与对象属性对应的名称-值参数来指定十六进制颜色代码。例如,
scatter(x,y,sz,"MarkerFaceColor","#FF8800")
将散点图中的标记颜色设置为橙色。
下表列出了所有有效的颜色名称和短名称,以及对应的 RGB 三元组和十六进制颜色代码。
|
颜色名称
|
短名称
|
RGB 三元组
|
十六进制颜色代码
|
外观
|
"red"
|
"r"
|
[1 0 0]
|
"#FF0000"
|
|
"green"
|
"g"
|
[0 1 0]
|
"#00FF00"
|
|
"blue"
|
"b"
|
[0 0 1]
|
"#0000FF"
|
|
"cyan"
|
"c"
|
[0 1 1]
|
"#00FFFF"
|
|
"magenta"
|
"m"
|
[1 0 1]
|
"#FF00FF"
|
|
"yellow"
|
"y"
|
[1 1 0]
|
"#FFFF00"
|
|
"black"
|
"k"
|
[0 0 0]
|
"#000000"
|
|
"white"
|
"w"
|
[1 1 1]
|
"#FFFFFF"
|
|
以下是 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"
|
|
指定条形图的颜色
通过调用
bar
函数并将可选的
color
参数指定为 "
red"
,创建一个红色条形图。以
b
形式返回条形对象,以便以后可以自定义图的其他方面。
现在,通过将
FaceColor
和
EdgeColor
属性设置为十六进制颜色代码 "
#80B3FF"
,将条形图填充颜色和轮廓颜色更改为浅蓝色。
在 R2019a 之前,指定 RGB 三元组,而不是十六进制颜色代码。例如,
b.FaceColor = [0.5 0.7 1]
。
指定散点图中的标记颜色
创建随机数散点图。将标记大小指定为
75
磅,并使用名称-值参数指定标记轮廓和填充颜色。
MarkerEdgeColor
属性控制轮廓颜色,而
MarkerFaceColor
属性控制填充颜色。
指定一系列绘图中的颜色
创建一系列绘图有两种方式:
要为上述方法中的任一方法指定颜色,请使用一个输出参数调用所需的绘图函数,以便可以访问各个绘图对象。然后在要更改的绘图对象上设置属性。
例如,创建一个包含 100 磅的填充标记的散点图。使用输出参数
s1
调用
scatter
函数。调用
hold
函数以保留坐标区的内容,然后使用输出参数
s2
和
s3
再调用两次
scatter
函数。变量
s1
、
s2
和
s3
是
Scatter
对象。
将第二个
Scatter
对象的颜色更改为紫色。
scatter
函数还支持矩阵输入
(从 R2021a 开始提供)
,因此您可以通过传递矩阵并返回对象向量来创建相同的绘图。
在这种情况下,要更改第二个数据序列的颜色,请通过对
s
进行索引来访问第二个
Scatter
对象。
另请参阅
函数
属性
相关主题
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window.
Web browsers do not support MATLAB commands.
MathWorks
Accelerating the pace of engineering and science
MathWorks
is the leading developer of mathematical computing software for engineers and scientists.
Discover...