当前位置:文档之家› MATLAB在作图中的常见问题

MATLAB在作图中的常见问题

25
26
15.坐标值的修改
(2)修改坐标 语句实现: 我们用axes句柄的xticklabel (或yticklabel) 这一项就可以了。 看下面这一段程序:
27Βιβλιοθήκη 16.放大所画的图形MATLAB所画出的图形是其默认的大小,我们也 可以对图形的大小进行重新设定:
set(gcf,'position',[x0 y0 xL yL]);
19
11.图形标注的一些问题
下面以xlabel为例,讲一下常见的几个问题:
xlabel(‘t^{hit}’); %标注上脚标 xlabel(‘Y_{Lib}’); %标注下脚标
花括号{}的作用是使多个字符都处于相同的状态。
xlabel({‘zjliu’,‘on BBS’}); %多行标注
效果见下图:
11
12
13
7.双Y轴曲线的坐标标注
我们注意到MATLAB命令窗的画兰颜色的 那一行, String = 这是加入文本信息的一个参数选项。
为此我设计了如下的语句:
14
8.双Y轴曲线的坐标标注
所用的几行语句: d1=get(H(1),'ylabel'); set(d1,’string’,’sin(x)’); d2=get(H(2),’ylabel’); set(d2,’string’,’exp(x)’); xlabel(‘x zjliu’) 得到的图形如下:
'fontsize',20,'color','Magenta') xlim([0 2*pi]); 效果见下页:
17
18
10.图形标注的一些问题
常用的几个标注的函数是: text; xlabel (ylabel, zlabel); title 在标注的时候字体,位置以及方向等可以 使用MATLAB自己默认的,也可以自己去 设定。
9
10
6.双Y轴曲线的标注
上面的三屏显示中我们注意一下用红条标出的一行语句:
YLabel = [107.001] 而我们知道函数ylabel是一个坐标轴标注的函数,而这里 它确实作为一个plotyy函数的一条信息,实际上它是一个 子句柄。 写下如下两行语句: >> d1=get(H(1),'ylabel'); >> get(d1) 会得到如下的一些信息:
20
21
12.图形的保存
我们可以直接在figure框上选取相应的菜单条进行图形保 存,可是在运行时间很长的程序中用命令实现图形的 “自动”保存,会节省我们的时间,带来方便。相应的 语句是: h=figure; ……………….. saveas(h,’zjliu’,’jpg’); saveas(gcf, 'output', 'bmp'); 在MATLAB中支持的图片格式很多,有.bmp, .jpg, .tif, .eps 等格式。
以下是做两个函数: y1=sin(x); 0<x<2*pi y2=exp(x); 0<x<2*pi 的三条语句:
>>[H,Ha,Hb]=plotyy(0:.1:2*pi,sin(0:.1:2*pi),0:.1:2*pi,exp(0:.1:2*pi)); >> legend([Ha,Hb],'sin(x)','exp(x)',0) >> set(Ha,'linestyle',':')
2
3
4
2.一些常用的句柄
gcf – 当前图形(figure)的句柄; gca – 当前坐标轴(axes)的句柄; gco – 当前对象(object)的句柄;
注:当前对象有时需要人为地确定一下,这个操作我们 可以用鼠标去确定,点击一下要确定的对象(这个对象 可以是一条曲线、一个标注)就可以了。
5
3.利用句柄修改图形
这里常用的两个函数是get和set。 get 是获得相应的句柄信息; set 是进行设定; gcbo :返回当前指向正在被调用的对象的句柄 findobj 可以查找图形对象
在使用set设定的时候,注意参数的类型,如字符 型、double型、还有结构数组等。
6
4.双Y轴曲线的绘制
所得图形见下图:
31
32
15
16
9.绘制图上图
有时为了需要,需要在图上画图,可能是为了局部放大,或其他目的。 看如下这段程序:
figure; t=0.1:.1:2*pi;y=sin(t)+exp(t); plot(t,y,'--'); title('绘制底图') axes('position',[0.25,0.45,0.4,0.3]) plot(t,sin(t),'r:',t,cos(t),'g-.') title('绘制图上图','fontName','楷体_GB2312',...
22
13.坐标轴方向的修改
MATLAB中默认的坐标轴方向是(二维情况): Y轴:向上; X轴:向右。 这里将用下面一段程序实现坐标轴的方向 调整
23
24
14.坐标值的修改
有时为了需要,对画出的曲线需要修改坐 标轴的坐标,下面列举一下几种情况: (1)除去刻度
方法1:编辑图的axis属性,可以去掉坐标值 方法2:语句实现 A=cell(1,6); set(gca,‘YTickLabel’,A);set(gca,'XTickLabel',A) 效果见下图:
图形如下:
7
8
5.双Y轴图形的标注
在前面的画图语句中:
>> [H,Ha,Hb]=plotyy(0:.1:2*pi,sin(0:.1:2*pi),0:.1:2*pi,exp(0:.1:2*pi));
这里的H,Ha,Hb就是相应的句柄; 我们可以用get(***)获得它们的信息,这里面H是一个 1x2的double array型数据。我们直接get(H)是不可以的, 这样get(H(1))就可以了,得到的结果如下:
30
18.对数刻度曲线图的绘制
用loglog函数可以实现双对数坐标轴的绘制,例子: subplot(121) t=0:.1:3*pi; loglog(2+cos(t),2+sin(t)) subplot(122) plot(2+cos(t),2+sin(t)) set(gca,'YScale','log') set(gca,'XScale','log') set(gca,'Xdir','Reverse')
MATLAB在作图应用中的若干 问题
1
1.画图函数句柄的使用
每个画图函数含有的输入参数是很多的, 然而我们在看函数的帮助(help)的时候,所 能得到的只是一些基本的信息。我们利用 dd = function_name(x,y,z,…); dt=get(dd) dt就含有了这个函数的全部使用信息。 请看下面的例子:
set(gcf,'outerposition', get(0,'screensize')); % 最大化
28
17.坐标轴标注的角度调整
有时需要对坐标轴标注的文字方向进行调 整,如下处理即可: a=xlabel('') set(a,'Rotation',35)
效果见下图:
29
相关主题