matlab 画图_Matlab画图属性介绍

本文摘要:

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

2e4d2bbd8f7cd814584b975653b1a55d.png

我们先看一段简单的代码

theta = -pi:0.01:pi;x = cos(theta);y = sin(theta)+((cos(theta)).^2).^(1/3);figure;h = plot(x,y);

x和y根据极坐标的角度,算出的值,生成的图片如下:

6f71fc19f4f3a637594c275189c09577.png

h是我们所画的线的句柄,h里的属性如下图,我们可以修改h里的属性来修改我们所画线的显示图样。其中比较常用可以修改的有:

  • 线的颜色(Color)

  • 线的风格(LineStyle)

  • 线的宽度(LineWidth)

  • 线的标记样式(Marker)

  • 线的标记样式大小(MarkerSize)

d2eadfca7d4bb5e89a24608f5435896d.png

线的颜色(Color)

默认的颜色有以下这几种,比如想把线的颜色改为红色,可以使用

h.Color='red';

或用简称

h.Color='r';

7e11c148c6ee57ae8089384f4dd7dd1a.png

426dc8644164642f501beb2075dc9858.png

但是如果这几种颜色不能满足需求,还可以直接使用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)

线的风格主要有实线('-'),虚线('--'),点线(':'),点划线('-.')

c7ad0453288d05942dd3804468db9a2f.png

比如想使用虚线就输入命令

h.LineStyle = '--';

363194e40c40ed5c35cdbd0c1e043fa3.png

线的宽度(LineWidth)

线的宽度默认是0.5,如果想要线更粗,就把这个属性的值设大,越大越粗

h.LineWidth = 5;

14bbdf37cd779d505014d8988d9baf0f.png

线的标记样式(Marker)

主要有以下这几种

ValueDescription
'o'Circle
'+'Plus sign
'*'Asterisk
'.'Point
'x'Cross
'square' or 's'Square
'diamond' or 'd'Diamond
'^'Upward-pointing triangle
'v'Downward-pointing triangle
'>'Right-pointing triangle
'Left-pointing triangle
'pentagram' or 'p'Five-pointed star (pentagram)
'hexagram' or 'h'Six-pointed star (hexagram)
'none'No markers

比如如果想要不显示具体的线,只把点显示成圆形,可以使用如下命令

h.Marker = 'o';h.LineStyle = 'none';

8c07ad086d5e5dce00e157895b7abb9d.png

线的标记样式大小(MarkerSize)

这个属性的值越大,那么标记也就越大,比如我们想要圆圈标记小一些

h.MarkerSize = 3

df809e7d13da12369edd5a575da92624.png

线的属性介绍完了,线的父级对象是轴,我们可以获取轴的句柄

ax = h.Parent;

对于轴的属性,一般的常用修改有:

  • 给当前绘图加标题以及给各个轴加标题

  • 控制各个轴显示的范围,以及轴上的显示的标尺

  • 控制各个轴网格的显示

  • 控制在当前轴上继续绘图

  • 控制显示当前轴上各个绘图的标签显示

  • 在一个图框中画多个坐标轴

给当前绘图加标题以及给各个轴加标题

ax.Title.String = '520';ax.XLabel.String = 'x-axis';ax.YLabel.String = 'y-axis';

通过上述的命令,可以给当前绘图以及轴加标题

6379b6677162e53eb2ff5147fb4dfebe.png

控制各个轴显示的范围,以及轴上的显示的标尺

将绘图的坐标轴范围都变为[-2 2]

ax.XLim = [-2 2];ax.YLim = [-2 2];

216aaa4bdd9f561a04bb1107dff9f4c2.png

将x轴以及y轴的标尺变为字符

ax.XTickLabel = {'L';'O';'V';'E';'!'};ax.YTickLabel = {'!';'!';'R';'E';'B';'E';'I';'L';'!'};

a0dd10420ef8e40cf3e58ab17d1b7b1a.png

控制各个轴网格的显示

给x和y轴加上粗网格

ax.XGrid = 'on';ax.YGrid = 'on';

3008cef07aabe6b804b215c11864b15e.png

给x和y轴加上细网格

ax.XMinorGrid = 'on';ax.YMinorGrid = 'on';

a64150476d49f749b900e5d517dc3e9d.png

控制在当前轴上继续绘图

ax.NextPlot = 'add';h = plot(x,y-0.5);

f9db5b37321ca9e04704fe65a28d7913.png

其中如果想要在当前轴上重新绘图,则输入

ax.NextPlot = 'replace';

控制显示当前轴上各个绘图的标签显示

如果一个轴上有多个绘图,想要给各个图做标注的话,可以使用如下命令。其中有几个绘图就填几个标注。

legend(ax,{'Line 1','Line 2'});

1ac68fd7d027cdfd2e5cd88bbf29ad48.png

在一个图框中画多个坐标轴

还可以在一个图框中再加一个轴,进行绘图

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];

868483b682559a02f957c092ed9d113e.png

还可以在一个图框中创建多个Tab,然后分别进行绘图

figure;tab1 = uitab('Title','Tab1');ax1 = axes(tab1);plot(x,y,'r');tab2 = uitab('Title','Tab2');ax2 = axes(tab2);plot(x,y,'m');

f2b86b08cb8b3c50a4a9c65074e22377.png

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

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值