
本文摘要:
主要介绍matlab的画图对象句柄的属性,线的句柄属性和轴的句柄属性。通过修改句柄属性不同的值,可以达到显示不同绘图效果的作用。

我们先看一段简单的代码
theta = -pi:0.01:pi;
x = cos(theta);
y = sin(theta)+((cos(theta)).^2).^(1/3);
figure;
h = plot(x,y);
x和y根据极坐标的角度,算出的值,生成的图片如下:

h是我们所画的线的句柄,h里的属性如下图,我们可以修改h里的属性来修改我们所画线的显示图样。其中比较常用可以修改的有:
- 线的颜色(Color)
- 线的风格(LineStyle)
- 线的宽度(LineWidth)
- 线的标记样式(Marker)
- 线的标记样式大小(MarkerSize)

线的颜色(Color)
默认的颜色有以下这几种,比如想把线的颜色改为红色,可以使用
h.Color='red';
或用简称
h.Color='r';


但是如果这几种颜色不能满足需求,还可以直接使用R.G.B的值
h.Color=[0.8500 0.3250 0.0980]
具体三原色值对应的颜色,可以在下面这个网站上查询,注意这边R.G.B的值的范围是0-1,所以如果是0-255范围的,需要除以255
https://tool.oschina.net/commons?type=3
线的风格(LineStyle)
线的风格主要有实线('-'),虚线('--'),点线(':'),点划线('-.')

比如想使用虚线就输入命令
h.LineStyle = '--';

线的宽度(LineWidth)
线的宽度默认是0.5,如果想要线更粗,就把这个属性的值设大,越大越粗
h.LineWidth = 5;

线的标记样式(Marker)
主要有以下这几种

比如如果想要不显示具体的线,只把点显示成圆形,可以使用如下命令
h.Marker = 'o';
h.LineStyle = 'none';

线的标记样式大小(MarkerSize)
这个属性的值越大,那么标记也就越大,比如我们想要圆圈标记小一些
h.MarkerSize = 3

线的属性介绍完了,线的父级对象是轴,我们可以获取轴的句柄
ax = h.Parent;
对于轴的属性,一般的常用修改有:
- 给当前绘图加标题以及给各个轴加标题
- 控制各个轴显示的范围,以及轴上的显示的标尺
- 控制各个轴网格的显示
- 控制在当前轴上继续绘图
- 控制显示当前轴上各个绘图的标签显示
- 在一个图框中画多个坐标轴
给当前绘图加标题以及给各个轴加标题
ax.Title.String = '520';
ax.XLabel.String = 'x-axis';
ax.YLabel.String = 'y-axis';
通过上述的命令,可以给当前绘图以及轴加标题

控制各个轴显示的范围,以及轴上的显示的标尺
将绘图的坐标轴范围都变为[-2 2]
ax.XLim = [-2 2];
ax.YLim = [-2 2];

将x轴以及y轴的标尺变为字符
ax.XTickLabel = {'L';'O';'V';'E';'!'};
ax.YTickLabel = {'!';'!';'R';'E';'B';'E';'I';'L';'!'};

控制各个轴网格的显示
给x和y轴加上粗网格
ax.XGrid = 'on';
ax.YGrid = 'on';

给x和y轴加上细网格
ax.XMinorGrid = 'on';
ax.YMinorGrid = 'on';

控制在当前轴上继续绘图
ax.NextPlot = 'add';
h = plot(x,y-0.5);

其中如果想要在当前轴上重新绘图,则输入
ax.NextPlot = 'replace';
控制显示当前轴上各个绘图的标签显示
如果一个轴上有多个绘图,想要给各个图做标注的话,可以使用如下命令。其中有几个绘图就填几个标注。
legend(ax,{'Line 1','Line 2'});

在一个图框中画多个坐标轴
还可以在一个图框中再加一个轴,进行绘图
ax2 = axes('Position',[0.15 0.15 0.2 0.2],'Box','on');
plot(x,y,'r');
ax2.XLim = [-2 2];
ax2.YLim = [-2 2];

还可以在一个图框中创建多个Tab,然后分别进行绘图
figure;
tab1 = uitab('Title','Tab1');
ax1 = axes(tab1);
plot(x,y,'r');
tab2 = uitab('Title','Tab2');
ax2 = axes(tab2);
plot(x,y,'m');

关于绘图对象句柄的常用属性就介绍完啦,相信熟练掌握这些命令后,就可以自由组合,画出自己想要的图形了。