[转载]【转】Matlab绘图 设置坐标轴\字体\颜色...
(2015-04-15 15:53:24)
标签:
转载 |
分类: 论文写作 |
原文地址:【转】Matlab绘图 设置坐标轴字体颜色... 作者:大侠展大侠
编程,绘图,设置坐标轴,做出自己的坐标轴
1. axis([xmin xmax ymin ymax])
设置当前图形的坐标范围,分别为x 轴的最小、最大值,y 轴的最小最大值
2. V=axis
返回包含当前坐标范围的一个行向量
3. axis auto
将坐标轴刻度恢复为自动的默认设置
4. axis manual
冻结坐标轴刻度,此时如果hold 被设定为on,那么后边的图形将使用与前
面相同的坐标轴刻度范围
5. axis tight
将坐标范围设定为被绘制的数据范围
6. axis fill
这是坐标范围和屏幕的高宽比,使得坐标轴可以包含整个绘制的区域。该选
项只有在PlotBoxaApectRatio 或DataAspectRatioMode 被设置为‘manual’模
式才有效
7. axis ij
将坐标轴设置为矩阵模式。此时水平坐标轴从左到有取值,垂直坐标从上到
下
8. axis xy
将坐标设置为笛卡尔模式。此时水平坐标从左到右取值,垂直坐标从下到上
取值
9. axis equal
设置屏幕高宽比,使得每个坐标轴的具有均匀的刻度间隔
10. axis square
将坐标轴设置为正方形
11. axis normal
将当前的坐标轴框恢复为全尺寸,并将单位刻度的所有限制取消
12. axis vis3d
冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示
13. axis off
关闭所有的坐标轴标签、刻度、背景
14. axis on
打开所有的坐标轴标签、刻度、背景
坐标轴标注:
set(gca,'XTick',[0:pi/3:2*pi]) 设置所要显示坐标轴刻度,
set(gca,'XTickLabel',[0:pi/3:2*pi]) 给这些数据加标签
gca 是单词Get current axes handle 的缩写,获得坐标轴句柄。(不知道matlab 为什么不自动对应数据加
标签,还需要多一条命令)出来的图形
坐标轴标注:
1. 控制坐标轴尺度长度:set(gca,'XLim',[-pi/2 pi])
2. 定制自己想标注的刻度:
(1)set(gca,'XTick',[-pi/2:pi/4:pi]) %%%坐标轴最小值,步长,最大值
(2)set(gca,'XTickLabel',{'-pi/2' '-pi/4:' '0' 'pi/4' 'pi/2' 'pi*3/4' 'pi'})
3. 反转坐标轴:set(gca,'XDir','reverse')
4. 上下标及latex 公式
输下标:_{wb}
输上标:^{0.5}
输latex 公式:
text('Interpreter','latex',...
'String','$$int_0^x!int_y dF(u,v)$$',...
'Position',[.5 .5],...
'FontSize',16)
在Matlab 中输入上标、下标、特殊符号或字体:
bf,it,rm 表示黑体,斜体,正体字符
上标用^(指数),下标用_(下划线)
调用方式为: ^{任意字符}, _{任意字符}, 注意{}的使用!
希腊字母等特殊字符用加拼音如:
α alpha β beta γ gamma θ theta Θ Theta
Г Gamma δ delta Δ Delta ξ xi Ξ Xi Ω Ommiga
η elta ε epsilong ζ zeta μ miu υ nu τ tau
λ lamda Λ Lamda π pi Π Pi σ sigma Σ Sigma
φ phi Φ Phi ψ psi Ψ Psi χ chi ω ommiga
< leq > geq 不等于neq << ll >> gg
正负pm 左箭头leftarrow 右箭头rightarrow 上箭头uparrow
体会以下两例:
figure, title('zeta^{-t}sint');
figure, title('x~{chi}_{alpha}^{2}(3)');
修改matlab的绘图大小、字号、线宽
该文章讲述了修改matlab 的绘图大小、字号、线宽.
1. axis([xmin xmax ymin ymax])
设置当前图形的坐标范围,分别为x 轴的最小、最大值,y 轴的最小最大值
2. V=axis
返回包含当前坐标范围的一个行向量
3. axis auto
将坐标轴刻度恢复为自动的默认设置
4. axis manual
冻结坐标轴刻度,此时如果hold 被设定为on,那么后边的图形将使用与前
面相同的坐标轴刻度范围
5. axis tight
将坐标范围设定为被绘制的数据范围
6. axis fill
这是坐标范围和屏幕的高宽比,使得坐标轴可以包含整个绘制的区域。该选
项只有在PlotBoxaApectRatio 或DataAspectRatioMode 被设置为‘manual’模
式才有效
7. axis ij
将坐标轴设置为矩阵模式。此时水平坐标轴从左到有取值,垂直坐标从上到
下
8. axis xy
将坐标设置为笛卡尔模式。此时水平坐标从左到右取值,垂直坐标从下到上
取值
9. axis equal
设置屏幕高宽比,使得每个坐标轴的具有均匀的刻度间隔
10. axis square
将坐标轴设置为正方形
11. axis normal
将当前的坐标轴框恢复为全尺寸,并将单位刻度的所有限制取消
12. axis vis3d
冻结屏幕高宽比,使得一个三维对象的旋转不会改变坐标轴的刻度显示
13. axis off
关闭所有的坐标轴标签、刻度、背景
14. axis on
打开所有的坐标轴标签、刻度、背景
坐标轴标注:
set(gca,'XTick',[0:pi/3:2*pi]) 设置所要显示坐标轴刻度,
set(gca,'XTickLabel',[0:pi/3:2*pi]) 给这些数据加标签
gca 是单词Get current axes handle 的缩写,获得坐标轴句柄。(不知道matlab 为什么不自动对应数据加
标签,还需要多一条命令)出来的图形
坐标轴标注:
1. 控制坐标轴尺度长度:set(gca,'XLim',[-pi/2 pi])
2. 定制自己想标注的刻度:
(1)set(gca,'XTick',[-pi/2:pi/4:pi]) %%%坐标轴最小值,步长,最大值
(2)set(gca,'XTickLabel',{'-pi/2' '-pi/4:' '0' 'pi/4' 'pi/2' 'pi*3/4' 'pi'})
3. 反转坐标轴:set(gca,'XDir','reverse')
4. 上下标及latex 公式
输下标:_{wb}
输上标:^{0.5}
输latex 公式:
text('Interpreter','latex',...
'String','$$int_0^x!int_y dF(u,v)$$',...
'Position',[.5 .5],...
'FontSize',16)
在Matlab 中输入上标、下标、特殊符号或字体:
bf,it,rm 表示黑体,斜体,正体字符
上标用^(指数),下标用_(下划线)
调用方式为: ^{任意字符}, _{任意字符}, 注意{}的使用!
希腊字母等特殊字符用加拼音如:
α alpha β beta γ gamma θ theta Θ Theta
Г Gamma δ delta Δ Delta ξ xi Ξ Xi Ω Ommiga
η elta ε epsilong ζ zeta μ miu υ nu τ tau
λ lamda Λ Lamda π pi Π Pi σ sigma Σ Sigma
φ phi Φ Phi ψ psi Ψ Psi χ chi ω ommiga
< leq > geq 不等于neq << ll >> gg
正负pm 左箭头leftarrow 右箭头rightarrow 上箭头uparrow
体会以下两例:
figure, title('zeta^{-t}sint');
figure, title('x~{chi}_{alpha}^{2}(3)');
修改matlab的绘图大小、字号、线宽
该文章讲述了修改matlab 的绘图大小、字号、线宽.
比较好的方法是如下的代码:
%plot your figure before
% figure resize
set(gcf,'Position',[100 100 260 220]); %这句是设置绘图的大小
set(gca,'Position',[.13 .17 .80 .74]); %设置xy
轴在图片中占的比例
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
第二节二维图形的绘制
一. plot 函数
plot 函数是最基本的绘图函数,其基本的调用格式为:
1.plot(y)------绘制向量y 对应于其元素序数的二维曲线图,如果y 为复数向量,则绘制虚部对于实部的二维曲线图.
2.plot(x,y)------绘制由x,y 所确定的曲线.
1)x,y 是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x 为横坐标,y 为纵坐标的图形.
2)当plot(x,y)中,x 是向量,y 是矩阵时,则绘制y 矩阵中各行或列对应于30 向量x 的曲线.如果y 阵中行的长度与x 向量的长度相同,则以y 的行数据作为一组绘图数据;如果y 阵中列的长度与x 向量的长度相同,则以y的列数据作为一组绘图数据;如果y 阵中行,列均与x 向量的长度相同,则以y 的每列数据作为一组绘图数据.
例:下面的程序可同时绘出三条曲线.MATLAB 在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色.
x=0:pi/50:2*pi;
y(1,:)=sin(x);
y(2,:)=0.6*sin(x);
y(2,:)=0.3*sin(x);
plot(x,y)
或者还可以这样用:
x=0:pi/50:2*pi;
y=[ sin(x); 0.6*sin(x); 0.3*sin(x)];
plot(x,y)
3) 如果x,y 是同样大小的矩阵,则plot(x,y)绘出y 中各列相应于x 中各列的图形.
例:x(1,:)=0:pi/50:2*pi;
x(2,:)=pi/4:pi/50:2*pi+pi/4;
x(3,:)=pi/2:pi/50:2*pi+pi/2;
y(1,:)=sin(x(1,:));
y(2,:)=0.6*sin(x(2,:));
y(3,:)=0.3*sin(x(3,:));
plot(x,y)
x=x';
y=y';
figure
31
plot(x,y)
在这个例子中,x------3x101,y------3x101,所以第一个plot 按列画出101 条曲线,每条3 个点;而
x'------101x3,y'------101x3,所以第二个plot 按列画出3 条曲线,每条101 个点.
012345678
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
012345678
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
3.多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……)
上面的plot 格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB 在
多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示:
各种颜色属性选项
'r' 红色'm' 粉红
'g' 绿色'c' 青色
'b' 兰色'w' 白色
'y' 黄色'k' 黑色
各种线型属性选项
'-' 实线'--' 虚线
':' 点线'-.' 点划线
各种标记点属性选项
'.' 用点号绘制各数据点'^' 用上三角绘制各数据点
'+' 用'+'号绘制各数据点'v' 用下三角绘制各数据点
'*' 用'*'号绘制各数据点'>' 用右三角绘制各数据点
' .' 用'.'号绘制各数据点'<' 用左三角绘制各数据点
's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点
'd'或diamond 用菱形绘制各数据点'h' 用六角星绘制各数据点
这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的'+'号绘制曲线.
注意:1)表示属性的符号必须放在同一个字符串中;
2)可同时指定2~3 个属性;
3)与先后顺序无关;
4)指定的属性中,同一种属性不能有两个以上.
注:在MATLAB 中,如画图前已有打开的图形窗口,则再画图系统将自动擦掉坐标系中已有的图形对象,但设置了hold on 后,可以保持坐标系中已绘出的图形.
还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色(MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)等其它绘图属性.
4.双Y 轴绘图:plotyy()函数.
其调用格式为:
plotyy(x1,y1,x2,y2)------绘制由x1,y1 和x2,y2 确定的两组曲线,其中x1,y1 的坐标轴在图形窗口的左
侧,x2,y2 的坐标轴在图形窗口的右侧.
Plotyy(x1,y1,x2,y2, 'function1','function2')------功能同上,function 是指那些绘图函数如:plot,semilogx,loglog等.
例如:在一个图形窗口中绘制双Y 轴曲线.
x=0:0.3:12;
y=exp(-0.3*x).*sin(x)+0.5;
plotyy(x,y,x,y,'plot','stem')
stem:绘制stem 形式的曲线(上端带圈的竖线). 绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜色相对应,左边的Y 轴坐标对应的是plot 形式的曲线,右边的Y 坐标对应的是stem 形式的曲线.
二.对数坐标图绘制函数:
在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy 和loglog 函数.
1)semilogx( )------绘制以X 轴为对数坐标轴的对数坐标图.其调用格式为:semilogx(x,y,'属性选项')
其中属性选项同plot 函数. 该函数只对横坐标进行对数变换,纵坐标仍为线性坐标.
2)semilogy( )------绘制以Y 轴为对数坐标轴的对数坐标图.
其调用格式为:semilogy(x,y,'属性选项') 该函数只对纵坐标进行对数变换,横坐标仍为线性坐标.35
3)loglog( )------ 绘制X,Y 轴均为对数坐标轴的图形.
其调用格式为:loglog(x,y,'属性选项')该函数分别对横,纵坐标都进行对数变换.
4)MATLAB 还提供了一个实用的函数:logspace( )函数,可按对数等间距地分布来产生一个向量,其调用格式为:
x=logspace(x1,x2,n)
这里,x1 表示向量的起点;x2 表示向量的终点;n 表示需要产生向量点的个数(一般可以不给出,采用默认值50).
在控制系统分析中一般采用这种方法来构成频率向量w.关于它的应用后面还要讲到.
三.极坐标图的绘制函数:
绘极坐标图可用polar( )函数.其调用格式如下:
polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性内容与plot 函数基本一致.
四.绘制多个子图:subplot( )函数
MATLAB 允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成nxm 个部分.
分割图形窗口用subplot 函数来实现,其调用格式为:subplot(n,m,k)或subplot(nmk)------n,m 分别表示将窗口分割的行数和列数,36k 表示要画图部分的代号,表示第几个图形,nmk 三个数可以连写,中间不用符号分开.
注:subplot 函数没有画图功能,只是将窗口分割.
第三节图形的修饰与标注
MATLAB 提供了一些特殊的函数修饰画出的图形,这些函数如下:
1)坐标轴的标题:title 函数
其调用格式为:title('字符串')------字符串可以写中文
2)坐标轴的说明:xlabel 和ylabel 函数
格式:xlabel('字符串')
ylabel('字符串')
3)图形说明文字:text 和gtext 函数
A.text 函数:按指定位置在坐标系中写出说明文字. 格式为:text(x1, y1, '字符串', '选项') x1,y1 为指定点的坐标;'字符串'为要标注的文字;'选项'决定x1,y1 的坐标单位,如没有选项,则x1,y1 的坐标单位和图中一致;如选项为'sc',则x1,y1 表示规范化窗口的相对坐标,其范围为0 到1.
(1,1)
规范化窗口
(0,0)
37
B.gtext 函数:按照鼠标点按位置写出说明文字.
格式为:gtext('字符串')
当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线,移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext 参数中的字符串就标注在该位置上.
4)给图形加网格:grid 函数
在调用时直接写grid 即可.
例:在图形中加注坐标轴标识和标题及在图形中的任意位置加入文本.
t=0:pi/100:2*pi;
y=sin(t);
plot(t,y),grid,
axis([0 2*pi -1 1])
xlabel('0 leq itt rm leq pi','FontSize',16)
ylabel('sin(t)','FontSize',20)
title('正弦函数图形','FontName','隶书' ,'FontSize',20)
text(pi,sin(pi),'leftarrowsin(t)=0','FontSize',16)
text(3*pi/4,sin(3*pi/4),'leftarrowsin(t)=0.707', 'FontSize',16)
text(5*pi/4,sin(5*pi/4),' sin(t)=-0.707rightarrow',...
'FontSize',16,'HorizontalAlignment','right')
5)在图形中添加图例框:legend 函数
其调用格式为:
A.legend('字符串1', '字符串2', ……)------以字符串1,字符串2…… 作38为图形标注的图例.
B.legend('字符串1', '字符串2', ……, pos)------pos 指定图例框显示的位置.
图例框被预定了6 个显示位置:
0------取最佳位置;
1------右上角(缺省值);
2------左上角;
3------左下角;
4------右下角;
-1------图的右侧.
6)用鼠标点选屏幕上的点:ginput 函数
格式为:[x, y, button]=ginput(n)
其中:n 为所选择点的个数;x,y 均为向量,x 为所选n 个点的横坐标;
y 为所选n 个点的纵坐标.
button 为n 维向量,是所选n 个点所对应的鼠标键的标号:
1------左键;
2------中键;
3------右键.
可用不同的鼠标键来选点,以区别所选的点.
此语句可以放在绘图语句之后,它可在绘出的图形上操作,选择你所感兴趣的点,如峰值点,达到稳态值的点等,给出点的坐标,可求出系统的性能指标.
39
%plot your figure before
% figure resize
set(gcf,'Position',[100 100 260 220]);
set(gca,'Position',[.13 .17 .80 .74]);
figure_FontSize=8;
set(get(gca,'XLabel'),'FontSize',figure_FontSize,'Vertical','top');
set(get(gca,'YLabel'),'FontSize',figure_FontSize,'Vertical','middle');
set(findobj('FontSize',10),'FontSize',figure_FontSize);
%这4
句是将字体大小改为8 号字
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2); %将线宽改为2
matlab 线型及颜色设置
set(findobj(get(gca,'Children'),'LineWidth',0.5),'LineWidth',2);
matlab 线型及颜色设置
一.图形窗口
1.MATLAB 在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.
2.在MATLAB 下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句柄.MATLAB 通过管理图形窗口的句柄来管理图形窗口;
3.当前窗口句柄可以由MATLAB 函数gcf 获得;
4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口);
figure(h)----将句柄为h 的窗口设置为当前窗口;
5.打开图形窗口的方法有三种:
1)调用绘图函数时自动打开;
2)用File---New---Figure 新建;
3)figure 命令打开,close 命令关闭.
在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.
6.窗口中的图形打印:用图形窗口的File 菜单中的Print 项.
7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit 菜单中选择Properties 项,打开图
形对象的参数设置窗口,可以设置对象的属性.
二.坐标系
1.一个图形必须有其定位系统,即坐标系;
2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;
3.每个坐标系都有唯一的标识符,即句柄值;
4.当前坐标系句柄可以由MATLAB 函数gca 获得;
5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h 为指定坐标系句柄值.
6.一些有关坐标轴的函数:
1)定义坐标范围:一般MATLAB 自动定义坐标范围,如用户认为设定的不合适,可用:axis([Xmin, Xmax, Ymin,
Ymax]) 来重新设定; 29
2)坐标轴控制:MATLAB 的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用axis off;axis
on 则显示坐标轴(缺省值).
3)通常MATLAB 的坐标系是长方形,长宽比例大约是4:3,为了得到一个正方形的坐标系可用:axis square
4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例的坐标系,可用:axis equal
1.MATLAB 在图形窗口中绘制或输出图形,因此图形窗口就像一张绘图纸.
2.在MATLAB 下,每一个图形窗口有唯一的一个序号h,称为该图形窗口的句柄.MATLAB 通过管理图形窗口的句柄来管理图形窗口;
3.当前窗口句柄可以由MATLAB 函数gcf 获得;
4.在任何时刻,只有唯一的一个窗口是当前的图形窗口(活跃窗口);
figure(h)----将句柄为h 的窗口设置为当前窗口;
5.打开图形窗口的方法有三种:
1)调用绘图函数时自动打开;
2)用File---New---Figure 新建;
3)figure 命令打开,close 命令关闭.
在运行绘图程序前若已打开图形窗口,则绘图函数不再打开,而直接利用已打开的图形窗口;若运行程序前已存在多个图形窗口,并且没有指定哪个窗口为当前窗口时,则以最后使用过的窗口为当前窗口输出图形.
6.窗口中的图形打印:用图形窗口的File 菜单中的Print 项.
7.可以在图形窗口中设置图形对象的参数.具体方法是在图形窗口的Edit 菜单中选择Properties 项,打开图
形对象的参数设置窗口,可以设置对象的属性.
二.坐标系
1.一个图形必须有其定位系统,即坐标系;
2.在一个图形窗口中可以有多个坐标系,但只有一个当前的坐标系;
3.每个坐标系都有唯一的标识符,即句柄值;
4.当前坐标系句柄可以由MATLAB 函数gca 获得;
5.使某个句柄标识的坐标系成为当前坐标系,可用如下函数:axes(h) h 为指定坐标系句柄值.
6.一些有关坐标轴的函数:
1)定义坐标范围:一般MATLAB 自动定义坐标范围,如用户认为设定的不合适,可用:axis([Xmin, Xmax, Ymin,
Ymax]) 来重新设定; 29
2)坐标轴控制:MATLAB 的缺省方式是在绘图时,将所在的坐标系也画出来,为隐去坐标系,可用axis off;axis
on 则显示坐标轴(缺省值).
3)通常MATLAB 的坐标系是长方形,长宽比例大约是4:3,为了得到一个正方形的坐标系可用:axis square
4)坐标系横纵轴的比例是自动设置的,比例可能不一样,要得到相同比例的坐标系,可用:axis equal
第二节二维图形的绘制
一. plot 函数
plot 函数是最基本的绘图函数,其基本的调用格式为:
1.plot(y)------绘制向量y 对应于其元素序数的二维曲线图,如果y 为复数向量,则绘制虚部对于实部的二维曲线图.
2.plot(x,y)------绘制由x,y 所确定的曲线.
1)x,y 是两组向量,且它们的长度相等,则plot(x,y)可以直观地绘出以x 为横坐标,y 为纵坐标的图形.
2)当plot(x,y)中,x 是向量,y 是矩阵时,则绘制y 矩阵中各行或列对应于30 向量x 的曲线.如果y 阵中行的长度与x 向量的长度相同,则以y 的行数据作为一组绘图数据;如果y 阵中列的长度与x 向量的长度相同,则以y的列数据作为一组绘图数据;如果y 阵中行,列均与x 向量的长度相同,则以y 的每列数据作为一组绘图数据.
例:下面的程序可同时绘出三条曲线.MATLAB 在绘制多条曲线时,会按照一定的规律自动变化每条曲线的的颜色.
x=0:pi/50:2*pi;
y(1,:)=sin(x);
y(2,:)=0.6*sin(x);
y(2,:)=0.3*sin(x);
plot(x,y)
或者还可以这样用:
x=0:pi/50:2*pi;
y=[ sin(x); 0.6*sin(x); 0.3*sin(x)];
plot(x,y)
3) 如果x,y 是同样大小的矩阵,则plot(x,y)绘出y 中各列相应于x 中各列的图形.
例:x(1,:)=0:pi/50:2*pi;
x(2,:)=pi/4:pi/50:2*pi+pi/4;
x(3,:)=pi/2:pi/50:2*pi+pi/2;
y(1,:)=sin(x(1,:));
y(2,:)=0.6*sin(x(2,:));
y(3,:)=0.3*sin(x(3,:));
plot(x,y)
x=x';
y=y';
figure
31
plot(x,y)
在这个例子中,x------3x101,y------3x101,所以第一个plot 按列画出101 条曲线,每条3 个点;而
x'------101x3,y'------101x3,所以第二个plot 按列画出3 条曲线,每条101 个点.
012345678
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
012345678
-1
-0.8
-0.6
-0.4
-0.2
0
0.2
0.4
0.6
0.8
1
3.多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……)
上面的plot 格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB 在
多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.这些选项如下表所示:
各种颜色属性选项
'r' 红色'm' 粉红
'g' 绿色'c' 青色
'b' 兰色'w' 白色
'y' 黄色'k' 黑色
各种线型属性选项
'-' 实线'--' 虚线
':' 点线'-.' 点划线
各种标记点属性选项
'.' 用点号绘制各数据点'^' 用上三角绘制各数据点
'+' 用'+'号绘制各数据点'v' 用下三角绘制各数据点
'*' 用'*'号绘制各数据点'>' 用右三角绘制各数据点
' .' 用'.'号绘制各数据点'<' 用左三角绘制各数据点
's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点
'd'或diamond 用菱形绘制各数据点'h' 用六角星绘制各数据点
这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的'+'号绘制曲线.
注意:1)表示属性的符号必须放在同一个字符串中;
2)可同时指定2~3 个属性;
3)与先后顺序无关;
4)指定的属性中,同一种属性不能有两个以上.
注:在MATLAB 中,如画图前已有打开的图形窗口,则再画图系统将自动擦掉坐标系中已有的图形对象,但设置了hold on 后,可以保持坐标系中已绘出的图形.
还可以进一步设置包括线的宽度(LineWidth),标记点的边缘颜色(MarkerEdgeColor),填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)等其它绘图属性.
4.双Y 轴绘图:plotyy()函数.
其调用格式为:
plotyy(x1,y1,x2,y2)------绘制由x1,y1 和x2,y2 确定的两组曲线,其中x1,y1 的坐标轴在图形窗口的左
侧,x2,y2 的坐标轴在图形窗口的右侧.
Plotyy(x1,y1,x2,y2, 'function1','function2')------功能同上,function 是指那些绘图函数如:plot,semilogx,loglog等.
例如:在一个图形窗口中绘制双Y 轴曲线.
x=0:0.3:12;
y=exp(-0.3*x).*sin(x)+0.5;
plotyy(x,y,x,y,'plot','stem')
stem:绘制stem 形式的曲线(上端带圈的竖线). 绘图结果:两条图线自动用不同的颜色区分,两个坐标的颜色与图线的颜色相对应,左边的Y 轴坐标对应的是plot 形式的曲线,右边的Y 坐标对应的是stem 形式的曲线.
二.对数坐标图绘制函数:
在对数坐标图的绘制中,有三种绘图函数:semilogx,semilogy 和loglog 函数.
1)semilogx( )------绘制以X 轴为对数坐标轴的对数坐标图.其调用格式为:semilogx(x,y,'属性选项')
其中属性选项同plot 函数. 该函数只对横坐标进行对数变换,纵坐标仍为线性坐标.
2)semilogy( )------绘制以Y 轴为对数坐标轴的对数坐标图.
其调用格式为:semilogy(x,y,'属性选项') 该函数只对纵坐标进行对数变换,横坐标仍为线性坐标.35
3)loglog( )------ 绘制X,Y 轴均为对数坐标轴的图形.
其调用格式为:loglog(x,y,'属性选项')该函数分别对横,纵坐标都进行对数变换.
4)MATLAB 还提供了一个实用的函数:logspace( )函数,可按对数等间距地分布来产生一个向量,其调用格式为:
x=logspace(x1,x2,n)
这里,x1 表示向量的起点;x2 表示向量的终点;n 表示需要产生向量点的个数(一般可以不给出,采用默认值50).
在控制系统分析中一般采用这种方法来构成频率向量w.关于它的应用后面还要讲到.
三.极坐标图的绘制函数:
绘极坐标图可用polar( )函数.其调用格式如下:
polar(theta, rho,'属性选项')------theta:角度向量,rho:幅值向量,属性内容与plot 函数基本一致.
四.绘制多个子图:subplot( )函数
MATLAB 允许在一个图形窗口上绘制多个子图(如对于多变量系统的输出),允许将窗口分成nxm 个部分.
分割图形窗口用subplot 函数来实现,其调用格式为:subplot(n,m,k)或subplot(nmk)------n,m 分别表示将窗口分割的行数和列数,36k 表示要画图部分的代号,表示第几个图形,nmk 三个数可以连写,中间不用符号分开.
注:subplot 函数没有画图功能,只是将窗口分割.
第三节图形的修饰与标注
MATLAB 提供了一些特殊的函数修饰画出的图形,这些函数如下:
1)坐标轴的标题:title 函数
其调用格式为:title('字符串')------字符串可以写中文
2)坐标轴的说明:xlabel 和ylabel 函数
格式:xlabel('字符串')
ylabel('字符串')
3)图形说明文字:text 和gtext 函数
A.text 函数:按指定位置在坐标系中写出说明文字. 格式为:text(x1, y1, '字符串', '选项') x1,y1 为指定点的坐标;'字符串'为要标注的文字;'选项'决定x1,y1 的坐标单位,如没有选项,则x1,y1 的坐标单位和图中一致;如选项为'sc',则x1,y1 表示规范化窗口的相对坐标,其范围为0 到1.
(1,1)
规范化窗口
(0,0)
37
B.gtext 函数:按照鼠标点按位置写出说明文字.
格式为:gtext('字符串')
当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字交叉线,移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext 参数中的字符串就标注在该位置上.
4)给图形加网格:grid 函数
在调用时直接写grid 即可.
例:在图形中加注坐标轴标识和标题及在图形中的任意位置加入文本.
t=0:pi/100:2*pi;
y=sin(t);
plot(t,y),grid,
axis([0 2*pi -1 1])
xlabel('0 leq itt rm leq pi','FontSize',16)
ylabel('sin(t)','FontSize',20)
title('正弦函数图形','FontName','隶书' ,'FontSize',20)
text(pi,sin(pi),'leftarrowsin(t)=0','FontSize',16)
text(3*pi/4,sin(3*pi/4),'leftarrowsin(t)=0.707', 'FontSize',16)
text(5*pi/4,sin(5*pi/4),' sin(t)=-0.707rightarrow',...
'FontSize',16,'HorizontalAlignment','right')
5)在图形中添加图例框:legend 函数
其调用格式为:
A.legend('字符串1', '字符串2', ……)------以字符串1,字符串2…… 作38为图形标注的图例.
B.legend('字符串1', '字符串2', ……, pos)------pos 指定图例框显示的位置.
图例框被预定了6 个显示位置:
0------取最佳位置;
1------右上角(缺省值);
2------左上角;
3------左下角;
4------右下角;
-1------图的右侧.
6)用鼠标点选屏幕上的点:ginput 函数
格式为:[x, y, button]=ginput(n)
其中:n 为所选择点的个数;x,y 均为向量,x 为所选n 个点的横坐标;
y 为所选n 个点的纵坐标.
button 为n 维向量,是所选n 个点所对应的鼠标键的标号:
1------左键;
2------中键;
3------右键.
可用不同的鼠标键来选点,以区别所选的点.
此语句可以放在绘图语句之后,它可在绘出的图形上操作,选择你所感兴趣的点,如峰值点,达到稳态值的点等,给出点的坐标,可求出系统的性能指标.
39
第四节MATLAB 下图形对象的修改
MATLAB 图形对象是指图形系统中最基本,最底层的单元,这些对象包括:屏幕(Root),图形窗口(Figures),坐标轴(Axes),控件(Uicontrol),菜单(Uimenu),线(Lines),块(Patches),面(Surface),图像(Images),文本(Text)等等.
根据各对象的相互关系,可以构成如下所示的树状层次:
Root
Figures
Axes Uicontrol Uimenu Uicontextmenu (对象菜单)
Images Line Patch Surface Text
对各种图形对象进行修改和控制,要使用MATLAB 的图形对象句柄(Handle).在MATLAB 中,每个图形对象创立时,就被赋予了唯一的标识,这个标识就是该对象的句柄.
句柄的值可以是一个数,也可以是一个矢量.如每个计算机的根对象只有一个,它的句柄总是0,图形窗口的句柄总是正整数,它标识了图形窗口的序号等.
利用句柄可以操纵一个已经存在的图形对象的属性,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的.
一.对图形对象的修改可以用下面函数:
1)set 函数:用于设置句柄所指的图形对象的属性.
Set 函数的格式为:
set(句柄, 属性名1, 属性值1, 属性名2, 属性值2, ……)
例:h=plot(x,y)
set(h, 'Color', [1,0,0])------将句柄所指曲线的颜色设为红色.
2)get 函数:获取指定句柄的图形对象指定属性的当前值.
格式为:get(句柄, '属性名')
如: get(gca, 'Xcolor')------获得X 轴的当前颜色属性值.
执行后可返回X 轴的当前颜色属性值[0,0,0](黑色).
3)如果没有设置句柄,则可以使用下列函数获得:
gcf:获得当前图形窗口的句柄;
gca:获得当前坐标轴对象的句柄;
gco:获得当前对象的句柄.
如:
A.要对图形窗口的底色进行修改,可用:
set(gcf, 'Color', [1,1,1])------将图形窗口底色设为白色
B.要把当前X 轴的颜色改为绿色,可用:
set(gca, 'Xcolor', [0,1,0])
40
C.还可对坐标轴的显示刻度进行定义:
t=-pi:pi/20:pi;
y=sin(t);
plot(t,y)
set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',['-pi','-pi/2','0','pi/2','pi'])
本例中用'xtick'属性设置x 轴刻度的位置(从-pi~pi,间隔pi/2,共设置5 个点),用'xticklabel'来指定刻度的值,由于通常习惯于用角度度量三角函数,因此重新设置['-pi','-pi/2','0','pi/2','pi']5 个刻度值.
二.一些常用的属性如下:
1)Box 属性:决定图形坐标轴是否为方框形式,选项为'on'(有方框),'off'(无方框);
2)'ColorOrder'属性:设置多条曲线的颜色顺序,默认值为:
[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]
黄色粉色天蓝红色绿色兰色
颜色向量还有:[1 1 1]------白色;[0 0 0]------黑色.
3)坐标轴方向属性:'Xdir','Ydir','Zdir',其选项为:
'normal'------正常
'reverse'------反向
4)坐标轴颜色和线型属性:'Xcolor','Ycolor','Zcolor'------ 轴颜色,值为颜色向量
'LineWidth'------ 轴的线宽,值为数字
'Xgrid','Ygrid','Zgrid'------坐标轴上是否加网格,值为'on'和'off'.
5)坐标轴的标尺属性:'Xtick','Ytick','Ztick'------ 标度的位置,值为向量
'Xticklabel','Yticklabel','Zticklabel'------ 轴上标度的符号,它的值为与标度位置向量同样大
小(向量个数相同)的向量.
5)字体设置属性:'FontAngle'------ 设置字体角度,选项为: 41
'normal'------ 正常;
'italic'------ 斜体;
'oblique'------ 倾斜;
'FontName'------ 字体名称;
'FontSize'------ 字号大小
'FontWeight'------ 字体的轻重,选项为:'light',
'normal','bold'
matlab 设置线条颜色宽度线型
2010-11-02 14:03
多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……)
上面的plot 格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB 在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.
颜色属性
'r' 红色'm' 粉红
'g' 绿色'c' 青色
'b' 兰色'w' 白色
'y' 黄色'k' 黑色
线型属性
'-' 实线'--' 虚线
':' 点线'-.' 点划线
标记点属性
'.' 用点号绘制各数据点'^' 用上三角绘制各数据点
'+' 用'+'号绘制各数据点'v' 用下三角绘制各数据点
'*' 用'*'号绘制各数据点'>' 用右三角绘制各数据点
' .' 用'.'号绘制各数据点'<' 用左三角绘制各数据点
's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点
'd'或diamond 用菱形绘制各数据点'h' 用六角星绘制各数据点
这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿
色的'+'号绘制曲线.
注意:
1)表示属性的符号必须放在同一个字符串中;
2)可同时指定2~3 个属性;
3) 与先后顺序无关;
4)指定的属性中,同一种属性不能有两个以上.
注:在MATLAB 中,如画图前已有打开的图形窗口,则再画图系统将自动擦掉坐标系中已有的
图形对象,但设置了hold on 后,可以保持坐标系中已绘出的图形.
设置线宽度(LineWidth),标记点的边缘颜色(MarkerEdgeColor),
填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)
例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小:
t=0:pi/20:pi;
y=sin(4*t).*sin(t)/2;
plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2
'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色
'MarkerFaceColor','y',... %设置标记点填充颜色为黄色
'MarkerSize',10) %设置标记点的尺寸为10
MATLAB 图形对象是指图形系统中最基本,最底层的单元,这些对象包括:屏幕(Root),图形窗口(Figures),坐标轴(Axes),控件(Uicontrol),菜单(Uimenu),线(Lines),块(Patches),面(Surface),图像(Images),文本(Text)等等.
根据各对象的相互关系,可以构成如下所示的树状层次:
Root
Figures
Axes Uicontrol Uimenu Uicontextmenu (对象菜单)
Images Line Patch Surface Text
对各种图形对象进行修改和控制,要使用MATLAB 的图形对象句柄(Handle).在MATLAB 中,每个图形对象创立时,就被赋予了唯一的标识,这个标识就是该对象的句柄.
句柄的值可以是一个数,也可以是一个矢量.如每个计算机的根对象只有一个,它的句柄总是0,图形窗口的句柄总是正整数,它标识了图形窗口的序号等.
利用句柄可以操纵一个已经存在的图形对象的属性,特别是对指定图形对象句柄的操作不会影响同时存在的其它图形对象,这一点是非常重要的.
一.对图形对象的修改可以用下面函数:
1)set 函数:用于设置句柄所指的图形对象的属性.
Set 函数的格式为:
set(句柄, 属性名1, 属性值1, 属性名2, 属性值2, ……)
例:h=plot(x,y)
set(h, 'Color', [1,0,0])------将句柄所指曲线的颜色设为红色.
2)get 函数:获取指定句柄的图形对象指定属性的当前值.
格式为:get(句柄, '属性名')
如: get(gca, 'Xcolor')------获得X 轴的当前颜色属性值.
执行后可返回X 轴的当前颜色属性值[0,0,0](黑色).
3)如果没有设置句柄,则可以使用下列函数获得:
gcf:获得当前图形窗口的句柄;
gca:获得当前坐标轴对象的句柄;
gco:获得当前对象的句柄.
如:
A.要对图形窗口的底色进行修改,可用:
set(gcf, 'Color', [1,1,1])------将图形窗口底色设为白色
B.要把当前X 轴的颜色改为绿色,可用:
set(gca, 'Xcolor', [0,1,0])
40
C.还可对坐标轴的显示刻度进行定义:
t=-pi:pi/20:pi;
y=sin(t);
plot(t,y)
set(gca,'xtick',[-pi:pi/2:pi],'xticklabel',['-pi','-pi/2','0','pi/2','pi'])
本例中用'xtick'属性设置x 轴刻度的位置(从-pi~pi,间隔pi/2,共设置5 个点),用'xticklabel'来指定刻度的值,由于通常习惯于用角度度量三角函数,因此重新设置['-pi','-pi/2','0','pi/2','pi']5 个刻度值.
二.一些常用的属性如下:
1)Box 属性:决定图形坐标轴是否为方框形式,选项为'on'(有方框),'off'(无方框);
2)'ColorOrder'属性:设置多条曲线的颜色顺序,默认值为:
[1 1 0;1 0 1;0 1 1;1 0 0;0 1 0;0 0 1]
黄色粉色天蓝红色绿色兰色
颜色向量还有:[1 1 1]------白色;[0 0 0]------黑色.
3)坐标轴方向属性:'Xdir','Ydir','Zdir',其选项为:
'normal'------正常
'reverse'------反向
4)坐标轴颜色和线型属性:'Xcolor','Ycolor','Zcolor'------ 轴颜色,值为颜色向量
'LineWidth'------ 轴的线宽,值为数字
'Xgrid','Ygrid','Zgrid'------坐标轴上是否加网格,值为'on'和'off'.
5)坐标轴的标尺属性:'Xtick','Ytick','Ztick'------ 标度的位置,值为向量
'Xticklabel','Yticklabel','Zticklabel'------ 轴上标度的符号,它的值为与标度位置向量同样大
小(向量个数相同)的向量.
5)字体设置属性:'FontAngle'------ 设置字体角度,选项为: 41
'normal'------ 正常;
'italic'------ 斜体;
'oblique'------ 倾斜;
'FontName'------ 字体名称;
'FontSize'------ 字号大小
'FontWeight'------ 字体的轻重,选项为:'light',
'normal','bold'
matlab 设置线条颜色宽度线型
2010-11-02 14:03
多组变量绘图:plot(x1, y1, 选项1, x2, y2, 选项2, ……)
上面的plot 格式中,选项是指为了区分多条画出曲线的颜色,线型及标记点而设定的曲线的属性.MATLAB 在多组变量绘图时,可将曲线以不同的颜色,不同的线型及标记点表示出来.
颜色属性
'r' 红色'm' 粉红
'g' 绿色'c' 青色
'b' 兰色'w' 白色
'y' 黄色'k' 黑色
线型属性
'-' 实线'--' 虚线
':' 点线'-.' 点划线
标记点属性
'.' 用点号绘制各数据点'^' 用上三角绘制各数据点
'+' 用'+'号绘制各数据点'v' 用下三角绘制各数据点
'*' 用'*'号绘制各数据点'>' 用右三角绘制各数据点
' .' 用'.'号绘制各数据点'<' 用左三角绘制各数据点
's'或squar 用正方形绘制各数据点'p' 用五角星绘制各数据点
'd'或diamond 用菱形绘制各数据点'h' 用六角星绘制各数据点
这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿
色的'+'号绘制曲线.
注意:
1)表示属性的符号必须放在同一个字符串中;
2)可同时指定2~3 个属性;
3) 与先后顺序无关;
4)指定的属性中,同一种属性不能有两个以上.
注:在MATLAB 中,如画图前已有打开的图形窗口,则再画图系统将自动擦掉坐标系中已有的
图形对象,但设置了hold on 后,可以保持坐标系中已绘出的图形.
设置线宽度(LineWidth),标记点的边缘颜色(MarkerEdgeColor),
填充颜色(MarkerFaceColor)及标记点的大小(MarkerSize)
例:设置绘图线的线型,颜色,宽度,标记点的颜色及大小:
t=0:pi/20:pi;
y=sin(4*t).*sin(t)/2;
plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2
'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色
'MarkerFaceColor','y',... %设置标记点填充颜色为黄色
'MarkerSize',10) %设置标记点的尺寸为10