天天看点

matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

本文可以分为两部分,第一部分总结绘图时对图形的线型,颜色以及标记点等属性的控制方法;第二部分总结图形的附加部分,如图例,坐标轴,颜色条等的控制。该篇为第二部分。

matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

Part 010 2 二、对于MATLAB中图形的附加部分,如图例,坐标轴,颜色条等的控制。

1

图形的基本操作函数

图形栅格的控制Grid()

该函数用于在二维或三维图形上控制坐标轴的栅格显示。

调用格式:

grid on:给当前的坐标轴添加栅格。

grid off: 取消当前的坐标轴中的栅格。

grid: 图形栅格显示状态的切换。

>> x = [0:2*pi];
>> subplot(121);plot(x,sin(x));grid on;
>> subplot(122);plot(x,sin(x));grid off;
           
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

图形保持的控制Hold()

在图形窗口生成图形后,再生成下一幅图形的时候,会覆盖原图形,如果想保留原图形可以使用hold函数用于图形保持控制。

调用格式:

hold on: 当前图形窗口中的图形处于保持状态,后续图形叠加在原有的图形上。

hold off: 关闭图形窗口中的图形保持状态,后续图形覆盖原有图形。

hold: 在hold on与hold off之间转换。即在狄俄舰与覆盖图形之间切换。

>> x = [0:2*pi];
>> plot(x,sin(x));
>> hold on
>> plot(x,cos(x),'g--')  %%此处绘图之后显示的是sin(x)和cos(x)。
>> hold off              %%此处hold off关闭了图形保持状态,在下面调用plot时将前面的图形覆盖
>> plot(x,tan(x),'b')    
           
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

读点函数ginput()

函数ginput()用于交互时从MATLAB绘制的图形中读取点的坐标,其调用格式如下。

[x,y] = ginput(n): 通过鼠标读取图形中的点,返回点的横纵坐标值,其中x为点的横坐标值,y为点的纵坐标值,输入参数n为选择点的个数,可以按"ENTER"键提前结束读点操作。

[x,y] = ginput: 可以无限地读取图形中点的坐标知道按下"ENTER"键。

[x,y,button] = ginput: button值返回读点时的鼠标操作,其中'1'代表按下鼠标左键读点,'2'代表按下鼠标中键读点,'3'代表按下鼠标右键读点,通过不同鼠标按键的区别,而可以对读点进行分类。

图形缩放zoom()

zoom()函数用于对二维图形的缩放控制,放大或缩小会相应地改变坐标轴范围。

调用格式:

zoom on: 打开图形的缩放功能,通过单机鼠标,可以放大图形,放大图形后想要缩小图形,需要按住"shift"键,再单机鼠标键

zoom off: 关闭交互式图形缩放功能。

zoom out:将缩放后的图形恢复到原始状态。

zoom reset: 将当前图形的状态作为”原始态“,以后使用zoom out图形恢复到此状态

zoom: 用于切换缩放的状态。

zoom xon: 仅对x轴进行图形缩放

zoom yon: 仅对y轴进行图形缩放

图形保存saveas()

seveas()函数可以按照指定的格式保存图形。

调用格式:

seveas(gca,'filename','fileformat'): 其中gca指明保存当前的图形对象,filename为图形的文件名,可以为绝对路径下的文件名,或者直接为文件名,保存在当前路径下,fileformat为保存的图形的文件类型,包括多种图形格式:fig、eps、emf、jpg、tif等常用的图片格式类型,其中fig为matlab中默认的图形文件类型,保存为该格式后,下次打开后可以直接标记修改。

图形打印print()

print()函数可用于打印图形窗口的图形,必须紧跟在函数plot()后使用。

调用格式:

print filename: 命令中"filename"为打印的图形文件名。

print -dformat:命令中"dformat"为打印的图形文件的存储格式。

print…-option: 命令中"option"设置打印的图形文件的参数。

对于文件的打印完全可以等文件存储之后去打印。

2

坐标轴控制

(1) 坐标轴范围的控制:

axis([Xmin,Xmax,Ymin,Ymax]): 设置坐标轴的范围,指定当前坐标轴x轴和y轴的范围,Xmin为x轴的下限,其它类推

axis([Xmin,Xmax,Ymin,Ymax,zmin,zmax,cmin,cmax]):设置坐标轴x轴,y轴,z轴的范围以及坐标轴的颜色显示范围。

xlim([xmin,xmax]): 仅设置x轴的范围

ylim([ymin,ymax]):仅设置y轴的范围

zlim([zmin,zmax]): 仅设置z轴的范围

axis tight: 按紧凑的坐标轴范围,即坐标轴范围为绘图数据范围。

>> x = -pi:pi/100:pi;
>> plot(x,sin(x))
>> axis([-3.5,3.5,-2,2])
>> xlim([-pi,pi])
           
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

(2)坐标轴刻度的设置

坐标轴刻度的设置需要使用控制函数set来完成设置

调用格式:set(gca,'XTick',[XTickmin:XTickstep:XTickmax]): 设置数字刻度的显示范围和精度,与图形做图数据相对应。

set(gca,'XTickLabel',[XTickLabelmin:XTickLabelstep:XTickLabelmax]): 设置坐标轴刻度线下的数值显示,默认状态下为做图数据相应坐标轴数据范围和刻度。

set(gca,'XTickLabel',string): 设置文本坐标轴刻度。

>> x = -pi:pi/100:pi;
>> plot(x,sin(x))
>> set(gca,'XTick',[-pi:pi/2:pi]);
>> set(gca,'XTickLabel',{'-pi','-pi/2','0','pi/2','pi'})
>> axis equal
           
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

(3)坐标轴字体的设置:

坐标轴字体的设置主要通过对字体的属性进行设置,常用的字体属性如下:

FontName: 字体的类型属性,包括常用的字体类型,

FontSize: 字体的大小属性。

FontUnits: 字体的单位属性。

FontWeight:字体样式属性,包括normal(正常),bold(加粗),light(倾斜),demi(黑体)

(4) 坐标轴边框的设置:

坐标轴边框常用的属性主要有颜色属性,下面以x轴为例,列举坐标轴边框属性

XDir属性:控制X轴方向属性,默认状态下属性值为"normal"可选属性值有"reverse"(逆转)

Xcolor:设置x轴边框的颜色属性

LineStyleOrder:设置坐标轴边框的线条类型属性

LinWidth:设置坐标轴边框的线条颜色属性。

(5) 坐标轴形状和位置大小设置

类似于图形窗口大小的设置,坐标轴位置和大小的设置同样可以通过设置坐标轴对象的"position"来完成,其设置的语法格式如下

set(gca,'Position',[left,bottom,width,height]): 定义坐标轴的图形窗口的位置与大小。

通常状况下,MATLAB的坐标系是长方形,长宽比大约是4:3,但是有时可能需要设置正方形的坐标系,可以通过语句axis square设置。

>> x = -pi:pi/100:pi;
>> plot(x,sin(x));
>> get(gca,'Position');
>> set(gca,'Position',[0.1,0.2,0.3,0.4]);
>> axis square
           
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

(6) 坐标轴的显示控制

axis on :显示坐标轴,默认状态下显示坐标轴

axis off: 不显示坐标轴。

XGrid /YGrid:控制坐标轴网格线的显示

>> x = -pi:pi/100:pi;
>> plot(x,sin(x));
>> set(gca,'XGrid','on');
>> axis on
           
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

3

图形标注

(1) 标题标注的设置:

title('string'): 在图形窗口添加字符串string作为标题

title('string','PropertyName','PropertyValue',……): 在图形窗口添加标题,并对标题的格式设置。

(2) 坐标轴标注的设置

xlabel('string')/ylabel('string'):分别对当前坐标轴对象中x轴和y轴添加标注。

xlabel('string','ProperName',ProperValue……):添加标注后设置属性

(3) 文本标注的设置

文本标注需要调用text()函数和gtext()函数,text()函数需要设置文本标注的文职,而gtext()函数用于交互式的文本标注,函数执行后有用户在图形窗口中选择标注的位置。

text(x,y,'string'): 函数用于在图形指定位置(x,y)上标注字符串string,x,y为坐标轴实际数值的标注。

gtext('string'):函数用于交互式的标注在图形上标注字符串string,函数执行后,图形中将出现交叉线我们可以选择待标注的位置。

(4) 图例标注的位置

legend('string1','string2', ……):  为图形中各部分数据添加图例,字符串string1、string2……按照数据显示的顺序依次标注各部分数据的图例。

legend('string1','string2',pos): pos参数用于设置添加图例的位置,默认状态下生成的图例可能吧图形部分区域覆盖,pos可以取-1-4范围内的整数,按序分别代表:图形窗口右边、图形窗口之内(尽量不与图形覆盖)、图形窗口右上角、图形窗口左上角、图形窗口左下角、图形窗口右上角,同时图例也可以通过鼠标直接移动。

4

窗口分割

有时我们需要在一个窗口中绘制多个图形来做比较,这时我们需要调用subplot()函数

此函数可以将图形窗口进行分割,即在同一个窗口可以显示多个坐标轴的图形。

调用格式:

subplot(m,n,p): 函数把图形窗口分为

matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

个绘图子区,在第p个绘图子区绘制绘制图形。绘图子区的编号按照行方向编号。注意括号内的“,”可以省略。

>> subplot(231);
>> ezplot('sin')
>> subplot(232);
>> ezplot('cos')
>> subplot(233);
>> ezplot('tan');
>> subplot(234);
>> ezplot('cot')
>> subplot(235)
>> ezplot('sec')
>> subplot(236)
>> ezplot('csc')
           
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

注意:在subplot()函数绘图之后若需要添加一个总标题,可以调用suptitle()函数

还有其它方法请参考下面链接:

https://link.zhihu.com/?target=https%3A//blog.csdn.net/HLBoy_happy/article/details/77581802

matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

本文参考书籍:

《MATLAB从基础到精通》

本文仅供学习交流所用,由于能力不足,编写不当之处望批评指正。 关于MATLAB的学习: 大家可以关注我们的知乎专栏——数据可视化和数据分析中 matlab的使用: https://zhuanlan.zhihu.com/c_1131568134137692160

更多MATLAB学习资源请入QQ群:953314432

▼上期回顾▼MATLAB绘图中对各种属性的控制方法(一)

matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)
matlab table中的文字转string_MATLAB绘图中对各种属性的控制方法(二)

扫码关注我们

更多精彩等待你发现

出品:Asoul水云天课堂工作室

继续阅读