Matlab作图后的各种调整方法——线条、坐标、标题、图例
文章目录
一 , 写在前面
首先介绍一个概念,我们在Matlab中作的图分为三个部分,分别是:
1.整个图窗 Figure(gcf)
2.我们使用命令做出的线条 Line,例如plot命令
3.坐标轴 Axes (gca)
所以看似我们使用plot命令画出了一张图,实际上我们只是改变了这张图的一个部分。
在Matlab中,我们可以分别对这三个部分进行改变,其中整个图窗的默认对象名是 gcf,坐标轴的默认对象名是 gca,而线条通常是自己绘图时手动定义的,例如:
>> x=[1 2 3 4 5];
>> y=x.^2;
>> p1=plot(x,y);
p1就是plot(x,y)这个曲线的名称,对象名有什么作用以及好处我们下文再进行介绍。
二 , 改变图中线条的粗细、颜色、标记等
以plot命令为例,我现在使用以下代码做出了一条曲线:
>> x=[1 2 3 4 5];
>> y=x.^2;
>> plot(x,y);
结果为:
这张图空白部分很大,图线比较细,颜色我也不喜欢。
那么如果我想把图线加粗,并且变成黑色,应该怎么做呢?
其实我们使用的plot命令里有很多种参数可以设置,以下给出plot命令的两种常用的基本形式:
plot(X1,Y1,LineSpec1,...,XN,YN,LineSpecN);
plot(___,Name1,Value1,...,NameN,ValueN);
第一个式子在同一个图窗内绘制了从y1-x1到yN-xN 一共n条曲线。式子中的LineSpec就是控制它前面所绘制曲线特征的参数,它是一个字符串,包含三个部分:线型 、颜色、标记。以下分别给出每种特征和对应的字符串:
线型字符 | 说明 |
---|---|
- | 实线(solid line) |
- - | 虚线(dashed line) |
- . | 点划线 (dash-dotted line) |
: | 点线(dotted line) |
颜色字符 | |
k | 黑色(black) |
b | 蓝色(blue) |
g | 绿色(green) |
c | 青色(cyan) |
m | 粉红色(magenta) |
r | 红色(red) |
w | 白色(white) |
y | 黄色(yellow) |
标记字符 | |
. | 点(dot) |
* | 星号(asterisk) |
X | 叉号(cross) |
O | 圆圈(circle) |
+ | 加号(plus sign) |
s | 方形(square) |
d | 菱形(diamond) |
p | 五角形(Five-pointed star) |
h | 六角形(hexagram) |
^ | 上三角形(triangle-up) |
v | 下三角形(triangle-down) |
< | 左三角形(triangle-left) |
> | 右三角形(triangle-right) |
例如我想把上述曲线改为虚线,黑色,用星号标记,则plot命令可以写为:
>> plot(x,y,'--k*');
运行结果为:
需要说的是,这三种特征字符的顺序并没有要求,即上式中的- -、k和*的顺序可以按自己喜好书写。
讲完了第一个式子,接下来讲讲第二个式子:
plot(___,Name1,Value1,...,NameN,ValueN);
其中的Name和Value被称为名称-值对组参数,Name为参数名称,Value为对应的值。下面分别给出各种常用的Name以及对应的Value:
1. 线条颜色:‘Color’
前面更改线条颜色的方法只能把线条颜色变为预设的几种,如果想指定任意一种颜色,就需要使用此组参数,其中Value的值可以是预设颜色的全名,也可以是RGB三元组和十六进制颜色代码,例如将上述曲线颜色变为绿色(green),则代码可以写为以下三种方式中的任意一种:
>> plot(x,y,'Color','green');
>> plot(x,y,'Color',[0 1 0]);
>> plot(x,y,'Color','#00FF00');
输出结果均为:
如果想要使用任意一种颜色,只需要知道对应的RGB三元组或者十六进制颜色代码即可,可以去配色网站寻找,在这里也给出几个笔者比较常用的配色网站,均为免费使用不需要账号:
Adobe Color CC (https://color.adobe.com/create/color-wheel/)
Material Palette (https://www.materialpalette.com/)
Flat UI Color Picker (https://www.flatuicolorpicker.com/)
例如将上述曲线改为紫色,则可以写为:
>> plot(x,y,'Color','#A500EB');
运行结果为:
2. 线型:‘LineStyle’
同上,例如改为点划线:
>> plot(x,y,'LineStyle','-.');
3. 线宽:‘LineWidth’
指定以榜为单位的正值,如果不进行设置,默认线宽为0.5榜,其中1榜=1/72英寸,例如将上述曲线宽度改为2榜,则代码为:
>> plot(x,y,'LineWidth',2);
输出结果为: