matlab关于作图的一些需要注意的地方
(1). 图形控制MATLAB语言中较常用的图形控制函数有坐标轴控制函数axis、坐标轴缩放函数zoom和坐标网格函数grid等.
(i). axis函数控制坐标轴的特征
在缺省情况下MATLAB自动选择图形的横、纵坐标的比例,如果你对这个比例不满意,可以用axis命令控制,常用的有:
axis() [ ]中分别给出了x轴和y轴的最小、最大值;
axis equal 或 axis('equal') x轴和y轴单位长度相同;
axis square 或 axis('square') 图框呈方形;
axis off 或 axis('off') 清除坐标刻度.例如:
>>x=0:0.025:pi/2; plot(x,tan(x),'-ko') %使用axis命令设定坐标轴之前的图形 图6
>>axis() %使用axis命令设定坐标轴之后的图形 图7
图7 图8
(ii). zoom函数控制坐标轴的缩放:zoom函数可以实现对二维图形的缩放,该函数在处理局部较为密集的图形中有很大作用.常用的调用格式有:
zoom 在zoom on 和zoom off之间切换;
zoom on 允许对图形进行缩放;
zoom off 禁止对图形进行缩放;
zoom xon 允许x 轴缩放;
zoom yon 允许y轴缩放;
zoom out 恢复进行的一切缩放.
当zoom处于on 状态时,可以通过鼠标进行图形缩放,单击鼠标左键将光标处的图形放大一倍;而单击鼠标右键将光标处的图形缩小一倍;双击鼠标左键则将会恢复缩放前的状态,即取消一切缩放操作.
应当注意,对图形的缩放不会影响图形的原始尺寸,也不会影响图形的横纵坐标的比例,即不会改变图形的基本结构.
(iii). grid函数控制平面图形的坐标网格:MATLAB提供了平面网图函数grid用于绘制坐标网格,提高图形显示效果.grid函数的调用格式如下:
grid on 在图形中绘制坐标网格;
grid off 取消坐标网格.
单独的函数grid将实现grid on 与grid off两种状态之间的转换.
>>x=0:0.1*pi:2*pi; y=sin(x);
>>plot(x,y)
>>grid on %图8
(2). 图形的标注
MATLAB语言还提供了丰富的图形标注函数供用户自由地标注所绘制的图形.
(i).坐标轴标注和图形标题
xlabel ylabel 为x, y坐标轴添加标注
title 为图形添加标题
xlabel('标注内容','属性1', '属性值1', '属性2', '属性值2',…) %属性包括标注文本的属
性,包括字体大小、字体名等.三个函数的调用结果的区别仅在于标注所处的位置不同,title 给出的标注将置于图的
顶部,而xlabel 和ylabel则分置于相应的坐标轴的边上.例如:
>>x=1:0.1*pi:2*pi; y=sin(x);
>>plot(x,y)
>>xlabel('x(0-2\pi)', 'fontweight', 'bold');
>>title('y=sin(x)','fontsize', 12, 'fontweight', 'bold') %12不加单引号 %图9
图9 图10
在标注过程中经常会遇到特殊符号的输入问题,为了解决这个问题,MATLAB语言提供了相应的字符转换,如:\alpha→α;\beta→β;\gamma→γ;\delta→δ;\epsilon→ε;\zeta→ζ;\pi→π;\omega→ω;\Omega→Ω等等.
用户也可以对文本标注进行显示控制,如:\bf 黑体,\it 斜体,\rm 标准形式,例如:
>>x=-10:0.1:10; y=exp(-x.^2/2);
>>plot(x,y, '-')
>>title('\bf y=e^{-x^{2}/2}') %图10
(ii). 文本标注
MATLAB对图形进行文本注释所提供的函数为text和gtext.
text函数的调用格式:text(x,y, '标注文本及控制字符串') 其中(x,y)给定标注文本在图中添加的位置,例如:
>>x=1:0.1*pi:2*pi; y=sin(x);
>>plot(x,y)
>>text(3*pi/4,sin(3*pi/4), '\leftarrow sin(3\pi/4)=0.707')
>>text(5*pi/4,sin(5*pi/4),['sin(5\pi/4)=',num2str(sin(5*pi/4)),'\rightarrow'],'HorizontalAlignment', 'right', 'Fontsize', 12) %图11
%属性HorizontalAlignment用来控制文本标注输入起点是在标注本身的左侧还是右侧.
图11 图12
交互式文本输入函数gtext. 使用该函数,用户可以通过使用鼠标来选择文本输入的点,
单击后,系统将把指定的文本输入到所选的位置上.
>>x=1:0.1*pi:2*pi; y=sin(x);
>>plot(x,y)
>>gtext('y=sin(x)', 'Fontsize', 12)
执行该函数时,将鼠标放在图形上会出现“+”字型交叉线供用户添加标注的点,选择添加标注的位置后,单击鼠标左键即可在该位置上添加标注.
(iii). 图例标注
在对数值计算结果进行绘图时,经常会出现在同一张图形中绘制多条曲线的情况,这时可以使用legend命令为曲线添加图例以便于区别它们.legend 函数能够为图形中的所有曲线进行自动标注,以其输入变量作为标注文本,具体调用格式如下:
legend('标注1', '标注2',…) 标注1,标注2等分别对应绘图过程中按绘制先后顺序所
生成的曲线.
>>x=0:0.1*pi:2*pi; y=sin(x); z=cos(x);
>> plot(x,y,'k-o',x,z,'k--h')
>>legend('sin(x)', 'cos(x)') %图12
可以用鼠标拖动图例框改变其在图中的位置.也可以在legend函数调用时进行简单的定位设置:legend('标注1', '标注2',…, '定位代号')
MATLAB 给出了6个定位代号,具体说明如下:
0: 自动定位,使得图标与图形重复最少;1: 置于图形的右上角(默认值);2: 置于图形的左上角;3: 置于图形的左下角;4: 置于图形的右下角;-1: 置于图形的右外侧.
关于标注位置,没有必要记住,可以通过在线帮助获得.help legend
图例标注后,也可以用鼠标来调整图例标注的位置. 好的。。。。。。 我来啦!{:3_48:} 再来一次{:soso_e141:} 不错,多谢LZ 正找matlab的现成命令呢,多谢分享啊 我来啦{:3_48:} 再来一次{:3_50:} matlab关于作图的一些需要注意的地方http://www.madio.net/thread-122750-1-1.html
页:
[1]