Matlab绘图 plot 各种小技巧(坐标范围、颜色、线型、图例、希腊字母图标等)

Matlab具有强大的图形绘制功能,而且方便快捷,可以迅速得到自己想要的图形。

在使用Matlab进行图形绘制时,有很多小技巧可以使绘制的图行看起来更专业、更美观。。。

话不多说,一起来看一下常用的一些技巧设置方法。

一、线型设置

- 实线           -. 点划线          -- 长虚线       : 短虚线         
.  点            。 圈号            × 叉号          * 星号         +  加号
'square' 方形    'diamond'三角形   ……………………………………

需要特别注意的是,我们有时候想要实现在绘制线条的同时,把对应的数据点标注出来。此时就要用到组合线条模式。
上面所给出的线型,第二、三行任何一个都可以和第一行任何一个进行组合,从而构成组合线条

这里给出一个例子,

plot([1,2,3],[4,5,6],'*-',[2,4,5],[3,8,7],'+ --')

如下图所示:

二、颜色

b:蓝色    k:黑色    g:绿色    r:红色    c:青色(cyan) 
m:紫红色(magenta)  w:白色    y:黄色

 直接给一个例子:

plot([1,2,3],[4,5,6],'*-r',[2,4,5],[3,8,7],'c + --')

需要注意的一点是:当既要使用颜色又要使用线型时,两者直接放在一个单引号里面即可,前后顺序无所谓,但是绝不能分开放在两个单引号里面。

因为matlab默认的绘图格式设置就是这一个参数,只能放在一块!!!

三、 线的粗细(LineWidth)

plot([1,2,3],[4,5,6],'*-r',[2,4,5],[3,8,7],'c+ --','LineWidth',2)

针对这个属性,我发现只能放在最后面,放在第一个线条绘制的后面就会报错。
因此只能对两条线同时改变线条的粗细属性。
暂时还没有发现如何只改变一条线的粗细,还请各位大佬指点指点 

四、图中文字格式的设置

在进行图例标注或者坐标轴的标记时,有时可能需要一些特殊的字符,比如希腊字母等,有时还需要上角标、下角标等。这就需要使用一些特殊的格式来完成转换。

上脚标    ^             下脚标    _

希腊字母等使用转义字符进行,具体如下:

小写字母:\alpha, \beta, \gamma, \delta, \epsilon, \kappa, \lambda, \mu, \nu, \omega, \phi, 
          \pi, \chi, \psi, \rho, \sigma, \tau, \upsilon 等

大写字母:\Sigma, \Pi, \Lambda, \Omega, \Gamma  等

若希腊字母带脚标,则使用 \alpha_1 这种格式,上脚标 \alpha^2,
不是脚标,而是直接和数字组合使用 \alpha3
plot([1,2,3],[4,5,6],'*-r',[2,4,5],[3,8,7],'c+ --')
legend('红色^r','青色_c')
title('\alpha')

 

 五、横纵坐标设置

xlabel('x轴','Fontsize',12);
ylabel('y轴','Fontsize',12);
xlabel是横坐标,ylabel是纵坐标,Fontsize是设置字体大小。

如果想改变横坐标的长度,比如从1:10改成1:100,可以用:

set(gca,'XTickLabel',get(gca,'XTick')*10);

也可以实现1:10变为11:20,把“*”改成“+”即可。

 直接给一个实例:

subplot(1,2,1)
plot([1,2,3],[4,5,6],'*-r',[2,4,5],[3,8,7],'c+ --')
legend('红色^r','青色_c')
title('\alpha')
xlabel('x轴','Fontsize',10)
ylabel('y轴','Fontsize',20)

subplot(1,2,2)
plot([1,2,3],[4,5,6],'*-r',[2,4,5],[3,8,7],'c+ --')
legend('红色^r','青色_c')
title('\alpha')
xlabel('x轴','Fontsize',10)
ylabel('y轴','Fontsize',20)
set(gca,'XTickLabel',get(gca,'XTick')+10)
set(gca,'YTickLabel',get(gca,'YTick')*2)

 

六、绘制双纵坐标轴的图形 

在实际应用中,有时想要绘制在一张图上的数据大小相差过大,或者可能是不同的物理量代表着不同的意义,比如温度和降水量随月份变化的图形。此时我们就需要使用双纵坐标轴,左边表示一个物理量,右边表示另一个物理量。

此时可以使用 matlab 中提供的   [AX,H1,H2] =plotyy(x,y1,x,y2,'plot');    绘图函数进行。具体来看一个例子:

x = [1,2,3,4,5,6];
y1 = [14,16,29,25,19,16];
y2 = [300,500,900,700,600,400];
[AX,H1,H2] =plotyy(x,y1,x,y2,'plot');
set(get(AX(1),'ylabel'),'string', '温度','fontsize',12); %y1的坐标名称
set(get(AX(2),'ylabel'),'string', '降水量','fontsize',12); %y2的坐标名称
xlabel('时间','fontsize',12); %横坐标x的坐标名称
set(H1,'Marker' ,'o'); %y1的线型
set(H2,'Marker' ,'*'); %y2的线型
set(gca,'linewidth',1.5); %设置边框宽度
legend('温度','降水量');

需要注意的一点是,在设置线型时,只需要使用 * ,就可以画出点带线,不需要进行 *-  标注,这样标会报错。

七、其他一些细节

grid on                    打开坐标网格
title('fbf')               加名字
xlabel('fbg')              x坐标轴名称
ylabel('dvd')              y坐标轴名称
figure('name')             新建一个图形绘制窗口name
subplot(2,2,1)             将图形绘制窗口切成二行二列,当前图像绘制在第一个位置处
legend('dvd','dvv')        添加图例,与绘制时的顺序对应
xlim([a,b])                限制x坐标范围为a到b
ylim([c,d])

………………………………未完待续……………………

八、matlab交互式绘图神器 mupad

我们有时候需要可以过原点的图,而用plot来画很费劲,这里有一个强大的绘图神器。

在命令行输入 mupad,回车即可打开,然后输入我们想要绘制的函数等,就可以快速绘制出来,还可以三维绘图。

更多的其他功能目前还没有进行深入了解,日后再补……………………

如下图所示:

 

 

 

不足之处恳请各位指正!!!

如若不弃,转载请附上原文链接,谢谢!!!

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页