搜档网
当前位置:搜档网 › Matlab画图示例

Matlab画图示例

Matlab画图示例
Matlab画图示例

Matlab 画图示例

1 文档说明

期刊文献中对图形格式、图中曲线线型,文字大小等都会有要求,而matlab 默认输出的图形格式和显示方式可能不符合期刊要求。本文档简单给出了几种调整matlab 输出图形格式的方法及示例图形,仅供参考。

2 示例

2.1 图形格式调整

下面给出设置图片输出格式及调整图形大小、坐标轴及题注字体的示例。如作图y=sin(x),要求图中线型为2,颜色为白底黑色;坐标轴字体为14,标注字体为12,图形宽度为21cm ,以tiff 格式输出,要求分辨率为600dpi ;

102030

40506070

角度

幅值

示例图片

图1 图形格式调整示例

点击edit--copy figure ,将图片粘贴到word,图片输出如图1。 Matlab 程序及说明见附录1 2.2 多曲线显示设置

MATLAB 在多组变量绘图时,可将曲线以不同的颜色,不同的线型、线宽及标记点表示出来以示区别。常用的选项设置如下:

各种颜色属性

'r' 红色 'm' 粉红 'g' 绿色 'c' 青色 'b' 兰色 'w' 白色 'y' 黄色 'k' 黑色 各种线型属性

'-' 实线 '--' 虚线 ':' 点线 '-.' 点划线 各种标记点属性选项

'.' 用点号绘制各数据点 '^' 用上三角绘制各数据点 '+' 用'+'号绘制各数据点 'v' 用下三角绘制各数据点 '*' 用'*'号绘制各数据点 '>' 用右三角绘制各数据点

' .' 用'.'号绘制各数据点 '<' 用左三角绘制各数据点

's'或squar 用正方形绘制各数据点 'p' 用五角星绘制各数据点 'd'或diamond 用菱 形绘制各数据点 'h' 用六角星绘制各数据点

这些选项可以连在一起用,如:'-.g'表示绘制绿色的点划线,'g+'表示用绿色的 '+'号绘制曲线。

注意: 1)表示属性的符号必须放在同一个字符串中;

2)可同时指定2~3个属性; 3) 与先后顺序无关;

4)指定的属性中,同一种属性不能有两个以上. 下面给出几个示例。 2.2.1 线宽显示示例

作出四条曲线,线宽分别为1,3,5,7

10

20

30

40

50

60

70

角度

幅值

示例图片

图2 线宽显示示例

2.2.2 线型显示示例

作出四条曲线,线型分别为'*' 's' '^' '. ',输出用黑色直线,线宽为2

角度

幅值

示例图片

图3 线型显示示例

也可以线宽和线型同时设置,修改程序中设置即可。如果输出图形中曲线标注legend 位置不合适,可以在figure 中重新插入lenend ,拖动至合理位置。 Matlab 程序及说明见附录2 2.3 多图显示设置

在一个作图区域中显示多个图片的设置可通过matlab 中的subplot 命令来实现,也可以通过调整图片显示位置命令来实现,下面给出一个将两幅图显示在画图区左边的示例。

020

406080100

2040

60

频率 (GHz)幅度 (d B )

功率谱

20

406080100

050

100

频率 (GHz)

幅度 (d B )

功率谱

图4 多图显示示例

Matlab 程序及说明见附录3 2.4 分栏图形设置示例

期刊中对分栏图形的尺寸有要求,如IEEE 论文对图像尺寸的要求为:图像宽度为3.5inch 或7-1/16inch ,(一栏或两栏的宽度),最大不能超过8.5*11inch 。

下面给出两个单栏宽度的示例,图片宽度为3.5inch ,图形内容相同。

图5 图6

单图大小调整Matlab 代码在附录1中已给出,只需调整图形窗口大小即可。下面是调整图形大小的控制语句和注释。 scrsz = get(0,'ScreenSize'); %获得显示器尺寸

20

4060

80

-1-0.500.5

1

幅值

示例图片

20

406080

-1-0.500.5

1

幅值

示例图片

h=figure('Position',[scrsz(3)/5 scrsz(4)/4 scrsz(3)/ 4.7137 scrsz(4)/4])%图形窗口大小调整。实际大小与显示器尺寸及matlab画图区域默认大小有关。可根据刊物要求调整大小,如19英寸显示器,matlab figure最大化后其画图区域长度大约为为42cm,[scrsz(3)/5 scrsz(4)/4.7137 scrsz(3)/2 scrsz(4)/2]表示figure图像的位置和大小语法为:[左下宽高] 前两个控制figure窗口位置,后两个控制figure窗口大小。scrsz(4)/4.7137=3.5inch。

3附录

附录 1 图形格式调整示例程序

clc

clear

x=0:pi/10:20;

y=sin(x);

scrsz = get(0,'ScreenSize');

h=figure('Position',[scrsz(3)/5 scrsz(4)/4 scrsz(3)/2 scrsz(4)/2])%图形窗口大小调整。实际大小与显示器尺寸及matlab画图区域默认大小有关。可根据刊物要求调整大小,如19英寸显示器,(1英寸为多少厘米??)matlab figure最大化后其画图区域长度大约为为42cm,42*0.5=21cm

f_handle =subplot('position',[0.10,0.15,0.82,0.72]); % 控制画图区域(0.10,0.15)为图形左下角的坐标,(0.82,0.72)为图形长宽比例

set(f_handle,'FontSize', 14); %控制坐标轴及图示字体大小

plot(y,'k', 'LineWidth', 2)% 'k'代表黑色;线宽为2

xlabel('角度');

ylabel('幅值');

title('示例图片')

legend('y=sin(x)', 'FontSize', 12,1);%0:最佳位置,1:默认位置,图形右上角

print -dtiff -r600 b(1).tiff%保存成tiff格式,像素为600 详见help print

附录2 多曲线显示示例程序

clc

clear

x=0:pi/10:20;

linestyle=[ '-*k' '-sk' '-^k' '-.k'];%线型及线条颜色设置

scrsz = get(0,'ScreenSize');

h=figure('Position',[scrsz(3)/5 scrsz(4)/4 scrsz(3)/2 scrsz(4)/2])%图形窗口大小调整。实际大小与显示器尺寸及matlab画图区域默认大小有关。可根据刊物要求调整大小,如19英寸显示器,matlab figure最大化后其画图区域长度大约为为42cm,42*0.5=21cm

for i=1:4

y=sin(x)+i/2;

f_handle =subplot('position',[0.10,0.15,0.82,0.72]); % 控制画图区域(0.10,0.15)为图形左下角的坐标,(0.82,0.72)为图形长宽比例

set(f_handle,'FontSize', 14); %控制坐标轴字体大小

plot(y,linestyle(i*3-2:i*3),'LineWidth', 2)%不同线型显示示例

% plot(y,'k','LineWidth', i*2-1)%不同线宽显示示例

hold on

end

legend_handle1 = legend('c','d','a','b');%0:最佳位置,不填表示默认位置,图片右上角

set(legend_handle1,'FontSize', 8);

xlabel('角度');

ylabel('幅值');

title('示例图片')

附录3 多图显示示例程序

clear;

clc;

freq = 0 : 100;

amp1 = 0.5*freq;

amp2 = 0.5*freq + 20;

amp3 = 0.5*freq + 40;

%%%% 在图中画第一个子图

scrsz = get(0,'ScreenSize');

h=figure('Position',[scrsz(3)/5 scrsz(4)/4 scrsz(3)/2 scrsz(4)/2])%图形窗口大小调整。实际大小与显示器尺寸及matlab画图区域默认大小有关。可根据刊物要求调整大小,如19英寸显示器,matlab figure最大化后其画图区域长度大约为为42cm,42*0.5=21cm

f_handle21 = subplot('position',[0.15,0.56,0.375,0.278]);

set(f_handle21,'FontSize', 10);

plot(freq, amp1,'k','LineWidth', 2);

Xlabel('频率(GHz)');

Ylabel('幅度(dB)');

title('功率谱');

%%%% 在图中画第二个子图

f_handle22 = subplot('position',[0.15,0.16,0.375,0.25]);

set(f_handle22,'FontSize', 10);

plot(freq, amp1,'-.k','LineWidth', 2);

hold on

plot(freq, amp2,'r', 'LineWidth', 2);

plot(freq, amp3, 'g','LineWidth', 2);

hold off

Xlabel('频率(GHz)');

Ylabel('幅度(dB)');

title('功率谱');

legend_handle22 = legend('Curve1','Curve2','Curve3',0);

set(legend_handle22,'FontSize', 6);

Matlab中使用Plot函数动态画图方法

%% %先画好,然后更改坐标系 %在命令行中使用 Ctrl+C 结束 t=0:0.1:100*pi; m=sin(t); plot(t,m); x=-2*pi; axis([x,x+4*pi,-2,2]); grid on while 1 if x>max(t) break; end x=x+0.1; axis([x,x+4*pi,-2,2]); %移动坐标系 pause(0.1); end %% % Hold On 法 % 此种方法只能点,或者分段划线 hold off t=0; m=0; t1=[0 0.1]; %要构成序列 m1=[sin(t1);cos(t1)]; p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:100 hold on t=0.1*i; %下一个点 m=t-floor(t); t1=t1+0.1; %下一段线(组) m1=[sin(t1);cos(t1)]; p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5); x=x+0.1; axis([x x+2*pi -1.5 1.5]); pause(0.01); end

%% %采用背景擦除的方法,动态的划点,并且动态改变坐标系% t,m 均为一行,并且不能为多行 t=0; m=0; p = plot(t,m,'*',... 'EraseMode','background','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:1000 t=0.1*i; %两个变量均不追加 m=sin(0.1*i); set(p,'XData',t,'YData',m) x=x+0.1; drawnow axis([x x+2*pi -1.5 1.5]); pause(0.1); end %% %采用背景擦除的方法,动态的划线,并且动态改变坐标系% 多行划线 t=[0] m=[sin(t);cos(t)] p = plot(t,m,... 'EraseMode','background','MarkerSize',5); x=-1.5*pi; axis([x x+2*pi -1.5 1.5]); grid on; for i=1:1000 t=[t 0.1*i]; %Matrix 1*(i+1) m=[m [sin(0.1*i);cos(0.1*i)]]; %Matrix 2*(i+1) set(p(1),'XData',t,'YData',m(1,:)) set(p(2),'XData',t,'YData',m(2,:)) drawnow x=x+0.1; axis([x x+2*pi -1.5 1.5]); pause(0.5);

MATLAB中plotyy函数详解:matlab双Y轴作图

Matlab plotyy画双纵坐标图实例 x = 0::20; y1 = 200*exp*x).*sin(x); y2 = *exp*x).*sin(10*x); [AX,H1,H2] = plotyy(x,y1,x,y2,'plot'); set(AX(1),'XColor','k','YColor','b'); set(AX(2),'XColor','k','YColor','r'); HH1=get(AX(1),'Ylabel'); set(HH1,'String','Left Y-axis'); set(HH1,'color','b'); HH2=get(AX(2),'Ylabel'); set(HH2,'String','Right Y-axis'); set(HH2,'color','r'); set(H1,'LineStyle','-'); set(H1,'color','b'); set(H2,'LineStyle',':'); set(H2,'color','r'); legend([H1,H2],{'y1 = 200*exp*x).*sin(x)';'y2 = *exp*x).*sin(10*x)'}); xlabel('Zero to 20 musec.');

title('Labeling plotyy'); Q:右边用蓝色圈起来的tick能去掉吗由于用plotyy画图,为了使图尽量地显示出来,用了set(AX(1),'YLimMode','auto'),但这样可能会导致左边AX(1)和右边AX(2)的tick的间距不一样,影响美观。或者说能不能使plotyy画出的图两边的tick间距是一样的,这样在图形右边的tick就会重合在一起. A:如果只是想让plotyy的图美一些,可以使用其如下形式的调用方式: [AX,H1,H2] = plotyy(...) 其中AX(2)就是右边Axes对象的句柄,拿到它以后就可以set或者get来处理了,也可以把其ytick关掉。 A:也可以用line语句来画,就没有左边和上边的线了。 Q:plotyy(X1,Y1,X2,Y2,FUN1,FUN2),FUN1和FUN2应该怎么写 A:这两个FUN代表plotyy不一定要用两个plot,比如下面的例子,一条曲线用plot,一条用semilogy x1=1::100; x2=x1;

matlab画图代码

用matlab的plot画图的几种用法 (2009-11-12 18:09:26) 转载▼ 标签: 分类:学习 matlab 绘图 plot 教育 1、设置图线宽度 set( haxis, 'LineWidth', 1.0 ); ----这是set函数,'LineWidth'就是axis的线宽度属性,其值默认为0.5,这里可以改成1.0了。 2、调整坐标轴上下限 set( haxis, 'XLim', [ 2 20 ] ); set( haxis, 'YLim', [ 2 20 ] );---调整坐标轴上下限的。Z轴,那同理set( haxis, 'ZLim', [ Zmin, %% Zmax ] ) 3、调整坐标轴上的标注数字 set( haxis, 'XTick', 2:1:20 ); set( haxis, 'YTick', 2:1:20 );----是调整坐标轴上那些标注出来的数字了,2:1:20意思是从2开始,每隔1标注一次,直到20为止。注意这里的2, 20最好和上面相应的XLim, YLim最大最小值一致。 4、MATLAB中提供的线型及颜色属性: 如:plot(x1,y1,'r-'),表示,用红色实线画出图形 线型说明标记符说明颜色说明 - 实线(默认) + 加号符r 红色 -- 双划线o 空心圆g 绿色 : 虚线* 星号 b 蓝色 :. 点划线. 实心圆 c 青绿色 x 叉号符m 洋红色 s 正方形y 黄色 d 菱形k 黑色 ^ 上三角形w 白色 v 下三角形 > 右三角形 < 左三角形 p 五角星 h 六边形

5、图形标题、轴标注、图形说明的设置 图名标注可用:title('xx关系图') axis([0,22,0,3]);---显示范围为:X轴从0-22,Y轴从0-3显示。 xlabel('电压(V)'),ylabel('电流(A)') 分别表示在X轴下标示电压(V),Y轴旁标示“电流(A)” legend('A曲线','B曲线','C曲线') 用于说明图中的曲线的说明,顺序和plot(x1,y1,x2,y2,x3,y3)的曲线1、2、3相同即可。 matlab 画折线图实例 (2010-07-05 16:55:02) 转载▼ 分类:科研软件_Matlab 标签: 杂谈 数据:某地区近50年雷暴发生次数(1957~2006 雷暴日): 画如下的年际变化图。 --------------------------------------------------------------------------------- % 将数据载入数组a中 a=[.....(省略)]; x=1957:2006; x=x'; % ma中放平均值: ma=zeros(50,1)+mean(a); plot(x,a,'k-o','linewidth',2,'markersize',4); axis ([1957 2006 10 60]); set (gca,'xtick',[1960 1965 1970 1975 1980 1985 1990 1995 2000 2005]);

MATLAB命令画出simulink示波器图形

毕业论文答辩已经结束很长时间了,现在总结一下我在做毕业论文时的用MATLAB命令画出simulink示波器图形的一点方法,我也是MATLAB初学者,所用方法不算高明方法,并且这些方法在论坛应该都能找到,请大家见谅。 第一步,将你的示波器的输出曲线以矩阵形式映射到MATLAB的工作空间内。 如图1所示,双击示波器后选择parameters目录下的Data history,将Save data to workspace勾上,Format选择Array,Variable name即你输入至工作空间的矩阵名称,这里我取名aa。在这之后运行一次仿真,那么你就可以在MATLAB的工作空间里看到你示波器输出曲线的矩阵aa。如图2所示。 第二步,用plot函数画出曲线 双击曲线矩阵aa,将可以看到详细情况,我这里的aa矩阵是一个1034行,3 列的矩阵,观察这个矩阵即可以发现,这个矩阵的第一列是仿真时间,而由于我仿真时示波器内输出的是两条曲线,所以第二列和第三列即分别代表了这2条曲线。同时大家要注意,在simulink中我们有时往往在示波器中混合输出曲线,那么就要在示波器前加一个MUX混合模块,因此示波器内曲线映射到的工作空间的矩阵是和你的MUX的输入端数有关,如果你设置了3个MUX输入端,而实际上你只使用了2个,那么曲线矩阵仍然会有4列,并且其中一列是零,而不是3列。 理解曲线矩阵的原理之后,我们就可以用plot函数画出示波器中显示的图形了。 curve=plot(aa(:,1),aa(:,2),aa(:,1),aa(:,3),'--r') %aa(:,1)表示取aa的第一列,仿真时间 %aa(:,2)表示取aa的第二列,示波器的输入一 %aa(:,3)表示取aa的第三列,示波器的输入二 %--r表示曲线2显示的形式和颜色,这里是(red) set(curve(1),'linewidth',3) %设置曲线1的粗细 set(curve(2),'linewidth',3) %设置曲线2的粗细 legend('Fuzzy','PID') %曲线名称标注 xlabel('仿真时间(s)') %X坐标轴名称标注 ylabel('幅值') %Y轴坐标轴标注 title('Fuzzy Control VS PID') %所画图的名称 grid on %添加网格 运行上述命令后即可以看到用MATLAB命令画出的图形了,你可以在图形出来之后继续进行编辑。

MATLAB绘图功能大全

Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab 还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一、二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 (一)绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基本用法

plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x 坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线: >> t=-pi:pi/100:pi; >> x=t.*cos(3*t); >> y=t.*sin(t).*sin(t); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 以上提到plot函数的自变量x,y为长度相同的向量,这是最常见、最基本的用法。实际应用中还有一些变化。

matlab函数图像画图教程

Matlab画图教程 1、MATLAB简介:MATLAB语言丰富的图形表现方法,使得数学计算结果可以方便地、多样性地实现了可视化,这是其它语言所不能比拟的。 2、MATLAB的绘图功能: (1)单窗口单曲线绘图 x=[0, 0.58,0.84,1,0.91,0.6,0.14] plot (x) (2)单窗口多曲线绘图 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2) (3)单窗口多曲线分图绘图 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2) subplot(1,3,1); plot(t,y) subplot(1,3,2); plot(t,y1) subplot(1,3,3); plot(t,y2)

t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y,t,y1,t,y2) subplot(3,1,1); plot(t,y) subplot(3,1,2); plot(t,y1) subplot(3,1,3); plot(t,y2) (4)多窗口绘图 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); plot(t,y) figure(2) plot(t,y1) figure(3) plot(t,y2)

(5)可任意设置颜色与线型 t=0:pi/100:2*pi; y=sin(t);y1=sin(t+0.25);y2=sin(t+0.5); subplot(1,3,1);plot(t,y,'r-') subplot(1,3,2);plot(t,y1,'g:') subplot(1,3,3);plot(t,y2,'b*') (6)图形加注功能 t=0:0.1:10 y1=sin(t);y2=cos(t);plot(t,y1,'r',t,y2,'b--'); x=[1.7*pi;1.6*pi]; y=[-0.3;0.8]; s=['sin(t)';'cos(t)']; text(x,y,s); title('正弦和余弦曲线'); legend('正弦','余弦') xlabel('时间t'),ylabel('正弦、余弦') grid axis square

Matlab画图

Matlab中的将几条曲线画在一个坐标系下的方法 subplot:这个函数可以在同一个窗口内画几幅图,但是不在一个坐标系下 如果在一个坐标系下的话,目前我找到了三种方法: (1)用hold on和hold off,画好第一幅图后,用hold on 语句就可以接着在该坐标系下画出其他的曲线图形,画完后再用hold off结束 (2)建一个m行n列的矩阵,每一行代表一条曲线,然后再用一般的画图方法,如plot()函数就可以了 (3)可以直接将两条曲线直接写入plot函数的参数里, 例如 x=linspace(0,2*pi,100); y=sin(x); plot(x,y); z=cos(x); plot(x,y,x,z); 另外,还学会了一些其他的函数 axis用于限定x轴和y轴的范围 semilogy其纵坐标以10的指数为单位 gtext在指定的坐标上写入文本 这几天的画的第一幅图: %瑞利衰落下选择合并的中断率 M=[1 2 3 4 10 20]; initial_r=-10; final_r=40; r_step=0.25; r_in_dB=initial_r:r_step:final_r; v=zeros(length(M),length(r_in_dB)); for j=1:length(M), for i=1:length(r_in_dB), r=10^(r_in_dB(i)/10); Pout(i)=(1-exp(-1/r))^M(j); end; v(j,:)=Pout; end; semilogy(r_in_dB,v);

title('瑞利衰落下选择合并的中断率'); xlabel(''); ylabel('Pout'); axis([initial_r,final_r,v(1,length(r_in_dB)),v(1,1)]); %添加每条线的说明 hold on; text(27,0.003,'M=1'); text(15,0.002,'M=2'); text(11,0.0008,'M=3'); text(8.6,0.000415,'M=4'); text(3.2,0.00022,'M=10'); text(0,0.000115,'M=20'); hold off; Matlab中如何修改图形中标注文字的大小? 文中对图形中标注的文字都有规定,Matlab中默认的文字大小可能不满足要求。在找到这个方法之前,俺曾经在很长一段时间内使用笨办法,手工的修改图上文字的大小,每幅图都得来这么一下,挺麻烦的。后来总算找到一个一劳永逸的办法,就是使用gca获得当前绘图坐标的指针,然后用set设定绘图坐标的FontSize属性,这种设定同时对坐标轴标注、图例、标题有效。 下面是一小段实例代码,以飨大家: %---------- test_gca.m ---------------------- figure; % 打开一个绘图窗口 h = gca; % 获取当前绘图坐标的指针 set(h,'FontSize',14); % 设置文字大小,同时影响坐标轴标注、图例、标题等。 % 生成一个正弦曲线 x = 0:0.01:2*pi; y = sin(x); plot(x,y); % 绘图 xlabel('x'); % 横坐标 ylabel('sin(x)'); % 纵坐标 legend('sin(x)'); % 图例 title('正弦曲线'); % 标题

matlab绘图详解

一.二维图形(Two dimensional plotting) 1. 基本绘图函数(Basic plotting function):Plot, semilogx, semilogy, loglog, polar, plotyy (1). 单矢量绘图(single vector plotting):plot(y),矢量y的元素与y元素下标之间在线性坐标下的关系曲线。 例1:单矢量绘图 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) 可以在图形中加标注和网格, 例2:给例1 的图形加网格和标注。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; plot(y) title('简单绘图举例'); xlabel('单元下标'); ylabel('给定的矢量'); grid (2). 双矢量绘图(Double vector plotting):如x和y是同样长度的矢量, plot(x,y)命令将绘制y元素对应于x元素的xy曲线图。 例:双矢量绘图。 x=0:0.05:4*pi; y=sin(x); plot(x,y) (3). 对数坐标绘图(ploting in logarithm coordinate): x轴对数 semilogx, y轴对数semilogy, 双对数loglog, 例:绘制数组y的线性坐标图和三种对数坐标图。 y=[0 0.6 2.3 5 8.3 11.7 15 17.7 19.4 20]; subplot(2,2,1); plot(y); subplot(2,2,2); semilogx(y) subplot(2,2,3); semilogy(y); subplot(2,2,4); loglog(y) (4)极坐标绘图( Plotting in polar coordinate): polar(theta,rho) theta—角度, rho—半径 例:建立简单的极坐标图形。 t=0:.01:2*pi; polar(t,sin(2*t).*cos(2*t)) 2. 多重曲线绘图(Multiple curve plotting) (1)一组变量绘图(A group variable plotting) plot(x,y) (a) x为矢量,y为矩阵时plot(x,y)用不同的颜色绘制y矩阵中各行或列对应于x的曲线。例1: x=0:pi/50:2*pi; y(1,: )=sin(x); y(2,:) =0.6*sin(x); y(3, :)=0.3*sin(x); plot(x,y) (b) x为矩阵,y为矢量时绘图规则与(a)的类似,只是将x中的每一行或列对应于y进行绘图。。 例 2: 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=sin(x(1,: )); plot(x,y)

matlab画图技巧方法

matlab绘图的一些技巧 1.在坐标轴上任意标上感兴趣的刻度。 用XTick、YTick、ZTick。如图1. 如:x=0:0.1:10;y=x.^2;h=plot(x,y,'o',x,y);set(gca,'YTick',[0,10,25,50,80,99],'XTick',[0.5,8,10]); 用XTickLabel、YTickLabel、ZTickLabel属性把标记标签从数值改为字符串。如图2. 如将y轴上的值80用字符串代替:x=0:0.1:10;y=x.^2;h=plot(x,y,'o',x,y); set(gca,'YTickLabel','0|10|25|50|cutoff|99'); 图1 图2 2.使用多个x轴和y轴

XAxisLocation和YAxisLocation属性指定在图形的哪一侧放置x轴和y轴。如图3. x1=0:0.01:10;y1=sin(x1); h1=line(x1,y1,'Color','r'); ax1=gca;set(ax1,'XColor','r','YColor','r'); ax2=axes('Position',get(ax1,'Position'),'XAxisLocation','top','YAxisLocation','right','Color','none',' XColor','k','YColor','k'); x2=x1;y2=cos(x2); h2=line(x2,y2,'Color','k','Parent',ax2); 图3 3.连接图形与变量(更新自变量或因变量的值) 用数据源属性XDataSource、YDataSource、ZDataSource及refreshdata.可以做动画。 t=0:0.01:2*pi; y=exp(sin(t)); h=plot(t,y,'YDataSource','y'); for k=1:0.1:20 y=exp(sin(t.*k)); refreshdata(h,'caller'); drawnow; pause(0.1); end 4.创建组(Hggroup)对象 将每个Hggroup子对象的HitTest属性值设置为off,使得单击任何子对象时,可以选择所有子对象。

matlab画图命令积累

matlab画图命令积累 aimit 2009-08-26 23:49 发表 subplot(3,2,1) plot(x) title('默认格式') subplot(3,2,2) plot(x) set(gca,'xtick',[1 3 6 8]); set(gca,'ytick',[]); title('X自定义间隔,Y关闭') subplot(3,2,3) plot(x) set(gca,'xtick',[1 3 6 8]); set(gca,'xticklabel',sprintf('%03.4f|',get(gca,'xtick'))) set(gca,'ytick',[2 4 5 7]); set(gca,'yticklabel',{'Two','Four','Five','Seven'}); title('XY自定义间隔、精度及显示方式') subplot(3,2,4) plot(x) set(gca,'xminortick','on');%style 5 set(gca,'ticklength',[0.05 0.025]); set(gca,'tickdir','out'); title('XY坐标刻度显示方式') subplot(3,2,5) plot(x) set(gca,'xtick',[min(x) (max(x)+min(x))/2 max(x)]); set(gca,'ytick',[min(x) (max(x)+min(x))/2 max(x)]); title('论文中常用的标准3点式显示') x=20:10:20000; y=rand(size(x)); subplot(3,2,6) semilogx(x,y); set(gca,'XLim',[20 20000]); set(gca,'XMinorTick','off'); set(gca,'XTick',[20 31.5 63 125 250 500 1000 2000 4000 8000 16000]); set(gca,'XGrid','on');

(完整版)matlab的一些画图技巧

matlab中如何在指定一点画一个填充颜色的小圆 plot(1,1,'r.','markersize',50) 二维作图 绘图命令plot绘制x-y坐标图;loglog命令绘制对数坐标图;semilogx和semilogy命令绘制半对数坐标图;polor命令绘制极坐标图. 基本形式 如果y是一个向量,那么plot(y)绘制一个y中元素的线性图.假设我们希望画出 y=[0., 0.48, 0.84, 1., 0.91, 6.14 ] 则用命令:plot(y) 它相当于命令:plot(x, y),其中x=[1,2,…,n]或x=[1;2;…;n],即向量y的下标编号, n为向量y的长度 Matlab会产生一个图形窗口,显示如下图形,请注意:坐标x和y是由计算机自动绘出的. 图4.1.1.1 plot([0.,0.48,0.84,1.,0.91,6.14])

上面的图形没有加上x轴和y轴的标注,也没有标题.用xlabel,ylabel,title 命令可以加上. 如果x,y是同样长度的向量,plot(x,y)命令可画出相应的x元素与y元素的x-y坐标图.例: x=0:0.05:4*pi; y=sin(x); plot(x,y) grid on, title(' y=sin( x )曲线图' ) xlabel(' x = 0 : 0.05 : 4Pi ') 结果见下图. 图4.1.1.2 y=sin(x)的图形 title图形标题 xlabel x坐标轴标注 ylabel y坐标轴标注 text标注数据点

legend 在右上角加解释 文字 grid给图形加上网格 hold保持图形窗口的图形 表4.1.1.1 Matlab图形命令 多重线 在一个单线图上,绘制多重线有三种办法. 第一种方法是利用plot的多变量方式绘制: plot(x1,y1,x2,y2,...,xn,yn) x1,y1,x2,y2,...,xn,yn是成对的向量,每一对x, y在图上产生如上方式的单线.多变量方式绘图是允许不同长度的向量显示在同一图形上.第二种方法也是利用plot绘制,但加上hold on/off命令的配合:plot(x1,y1) hold on plot(x2,y2) hold off 第三种方法还是利用plot绘制,但代入矩阵:

Matlab学习笔记--Matlab画图15页word

1.基本绘图函数: 2.Matlab绘图步骤 3.plot(x,y,s) s是字符串,不同的字符串代表不同的线型 plot(x1,y1,s1,x2,y2,s2,…..)是将多个图形或函数曲线拼接放置在同一个图形框中。 函数曲线的颜色、线型和数据点型

上面左边的b代表蓝色,-.代表点线型,就是x取的各点之间的连线为-.,而x取值的各个点的类型为空,就代表是默认的点型 上面那个是r代表红色,--代表线型,而点型是*就是x取了多少个点,就多少个*,而*和*直接的连接为— 上面的s里面的写法为:线型+颜色+点型线性为-.,颜色为k代表黑色,点型为h代表六角星型。 我们还可以不定义线性,为空,那么两个点之间就不连线了。 4.我们还可以定义曲线的颜色和线宽

LineWidth:设定绘图曲线的粗细 MarkerEdgeColor:数据点型或边界的颜色(圆形、菱形、六角星型等) MarkerFaceColor:数据点型的天聪颜色。 MarkerSize:数据点的大小 从上可以看出:线型为--,颜色为r代表红色,点型为s代表方形,线的粗细为3,点标记的颜色为r代表红色,点标记的填充颜色为y代表黄色,点标记的大小为10. 5.很多时候,需要在一张图上多次画多条曲线。 就需要hold函数:即图形保持命令,主要用于暂存当前的图形窗口,可以让用户继续在命令窗口中绘制其他函数图形,并且后续的图形曲线与当前窗口中的曲线在同一个图形界面中显示。Hold函数不会因后面画的图形的坐标值不一样而改变当前坐标轴的定义范围。 Hold on函数:作用同上,但可以根据新的图形曲线的坐标轴极限值来自动调整当前坐标轴的坐标值。 Hold off函数:结束当前的图形保持状态,一般与Hold on匹配,hold off函数后就需要从新设置坐标轴的属性。 Hold All函数:保留当前的颜色和线型,这样在绘制后面的图形时就是用当前的颜色和线型。 这里x变换是从0—1

matlab 常用画图调整命令汇总(带例子)

Matlab常用画图调整 1.%单y轴 2.plot(t*1e+9,abs(iGG)/max(abs(iGG)),'k','linewidth',2); 3.axis([-5,5,0,1]) 4.xlabel('时间/ns'); 5.ylabel('幅度/a.u.'); 6.set(get(gca,'title'),'FontSize',10,'FontName','宋体');%设置标题字体大小,字型 7.set(get(gca,'XLabel'),'FontSize',10,'FontName','Times New Roman');%设置X坐标标题字 体大小,字型 8.set(get(gca,'YLabel'),'FontSize',10,'FontName','Times New Roman');%设置Y坐标标题字 体大小,字型 9.set(gca,'FontName','Times New Roman','FontSize',10)%设置坐标轴字体大小,字型 10.text(0.3,1.2,'(a)','FontSize',10,'FontName','Times New Roman');%设置文本字型字号 11.set(gca,'XTick',[0 10 20 30 40 50 60 70 80 90])%设置X坐标轴刻度数据点位置 12.set(gca,'XTickLabel',{'0','10','20','30','40','50','60','70','80','90'})%设置X坐 标轴刻度处显示的字符 13.set(gca,'YTick',[-15 -10 -5 0 5 10 15])%设置X坐标轴刻度数据点位置 14.set(gca,'YTickLabel',{'-15','-10','-5','0','5','10','15'})%设置Y坐标轴刻度处显示的 字符 15.axis([0,90,-20,20]) 16.set(gca,'YTickLabel',[]);%只显示y坐标轴刻度,不显示y坐标轴的值; 17.set(gca,'XTickLabel',[]);%只显示x坐标轴刻度,不显示x坐标轴的值; 18.set(gca,'ytick',[]);%y轴的坐标值和刻度均不显示; 19.set(gca,'xtick',[]);%x轴的坐标值和刻度均不显示; 20. 21.figure; 22.set(gcf,'Position',[400,300,600,200]);%设定plot输出图片的尺寸。参数含义为: xmin,ymin,width,height 23.%plot的默认参数为[232,246,560,420],Position的单位可以用units属性制定,units属性的值 可以是下列字符串中的任何一 24.%种:pixel(像素,缺省值)、normalized(相对单位)、inches(英寸)、centimeters(厘米)、 points(磅)。 25.%指定大小后,在figure中用text输出的文字大小,设置的是多大,在WORD中显示的就是多大。 26.set(gcf,'units','centimeters','Position',[4,3,6,2]);%指定fiugre的尺寸为6cm宽,2cm 高。 27.%也可以直接用下属语句: 28.fiure('units','centimeters','Position',[4,3,6,2]); 29. 30.%改变ylabel离坐标轴的距离 31.hc=findobj(allchild(gcf),'Type','axes'); 32.hc2=findobj(allchild(hc),'Type','text'); 33.set(hc2(3),'Position',[0 0 0]);

matlab利用excellink达到在excel中直接画图

matlab excel混合编程MATLAB与 Excel数据连接及绘图 3.1 MATLAB与Excel数据连接 EXCEL和MATLAB在数据显示和数值计算上各有优势,EXCEL是商业运用最广泛的工具,非常直观,但是数值编程比较差,而MA TLAB可以弥补这一点,有时在程序开发上需要将两者结合起来,实现两者之间的优势互补,为此MATLAB提供了EXCEL Link连接工具,实现MA TLAB与EXCEL之间的混合编程。 EXCEL Link是一个在Microsoft Windows环境下实现对Microsoft EXCEL和MATLAB 进行链接的插件。通过对EXCEL和MATLAB 的连接,用户可以在EXCEL的工作空间里,利用EXCEL的宏编程工具,使用MATLAB的数据处理和图形处理功能进行相关操作,同时由EXCEL Link来保证两个工作环境中数据的交换和同步更新。使用EXCEL Link 时,不必脱离EXCEL环境,而是直接在EXCEL工作区或宏操作中调用MATLAB函数。 EXCEL Link允许在MATLAB和EXCEL之间进行数据交换,在两个功能强大的数学处理、分析与表示平台之间建立无缝连接。EXCEL作为一个可视化的数据处理环境是进行数组编辑的最佳选择,而MA TLAB则作为数据分析和可视化的引擎。任何输入到EXCEL环境中的数据都可以直接进入MTA TLAB进行处理,而这一过程完全是“现场”处理的,没有任何中间文件,也不需要进行编程工作。

3.1.1 MATLAB和Excel的接口安装:. Excel Link的安装和和设置 首先,在系统中安装Excel软件。然后安装Matlab和Excel Link,用Matlab安装盘开始安装,选择自定义安装中,在选中组件ExcelLink,如下图所示: 安装完Excel Link后还需要在Excel中进行一些设置后才能使用。 启动Excel,选择菜单“工具”项下的“加载宏”项,弹出如下对话框:

教你如何用matlab绘图(全面)

强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。此外,Matlab还提供了直接对图形句柄进行操作的低层绘图操作。这类操作将图形的每个图形元素(如坐标轴、曲线、文字等)看做一个独立的对象,系统给每个对象分配一个句柄,可以通过句柄对该图形元素进行操作,而不影响其他部分。 本章介绍绘制二维和三维图形的高层绘图函数以及其他图形控制函数的使用方法,在此基础上,再介绍可以操作和控制各种图形对象的低层绘图操作。 一.二维绘图 二维图形是将平面坐标上的数据点连接起来的平面图形。可以采用不同的坐标系,如直角坐标、对数坐标、极坐标等。二维图形的绘制是其他绘图操作的基础。 一.绘制二维曲线的基本函数 在Matlab中,最基本而且应用最为广泛的绘图函数为plot,利用它可以在二维平面上绘制出不同的曲线。 1.plot函数的基本用法 plot函数用于绘制二维平面上的线性坐标曲线图,要提供一组x坐标和对应的y坐标,可以绘制分别以x和y为横、纵坐标的二维曲线。plot函数的应用格式 plot(x,y) 其中x,y为长度相同的向量,存储x坐标和y坐标。 例51 在[0 , 2pi]区间,绘制曲线 程序如下:在命令窗口中输入以下命令 >> x=0:pi/100:2*pi; >> y=2*exp(-0.5*x).*sin(2*pi*x); >> plot(x,y) 程序执行后,打开一个图形窗口,在其中绘制出如下曲线 注意:指数函数和正弦函数之间要用点乘运算,因为二者是向量。 例52 绘制曲线 这是以参数形式给出的曲线方程,只要给定参数向量,再分别求出x,y向量即可输出曲线:

MATLAB中绘图命令介绍

MATLAB中绘图命令介绍 本节将介绍MATLAB基本xy平面及xyz空间的各项绘图命令,包含一维曲线及二维曲面的绘制。 plot是绘制一维曲线的基本函数, 但在使用此函数之前,我们需先定义曲线上 每一点的x 及y座标。 下例可画出一条正弦曲线: close all; x=linspace(0, 2*pi, 100); % 100个点的x坐标 y=sin(x); % 对应的y坐标 plot(x,y); 小整理:MATLAB基本绘图函数 plot: x轴和y轴均为线性刻度(Linear scale) loglog: x轴和y轴均为对数刻度(Logarithmic scale) semilogx: x轴为对数刻度,y轴为线性刻度 semilogy: x轴为线性刻度,y轴为对数刻度 若要画出多条曲线,只需将座标对依次放入plot函数即可: hold on 保持当前图形,以便继续画图到当前坐标窗口 hold off 释放当前图形窗口 title(’图形名称’)(都放在单引号内) xlabel(’x轴说明’) ylabel(’y轴说明’)

text(x,y,’图形说明’) legend(’图例1’,’图例2’,…) plot(x, sin(x), x, cos(x)); 若要改变颜色,在座标对後面加上相关字串即 可: plot(x, sin(x), 'c', x, cos(x), 'g'); 若要同时改变颜色及图线型态,也是在座标对後 面加上相关字串即可: plot(x, sin(x), 'co', x, cos(x), 'g*'); 小整理:plot绘图函数的叁数字元、颜色元、图 线型态, y 黄色.点k 黑色o 圆w 白色x xb 蓝色+ +g 绿色* *r 红色- 实线c 亮青色: 点线m 锰紫色-. 点虚线-- 虚线plot3 三维曲线作图 图形完成后,我们可用axis([xmin,xmax,ymin,ymax])函数来调整图轴的范围: axis([0, 6, -1.2, 1.2]); axis函数的功能丰富,其常用的用法有: axis equal :纵横坐标轴采用等长刻度 axis square:产生正方形坐标系(默认为矩形)

matlab中绘图用的函数,语言

第四讲绘图功能

作为一个功能强大的工具软件,Matlab 具有很强的图形处理功能,提供了大量的二维、三维图形函数。由于系统采用面向对象的技术和丰富的矩阵运算,所以在图形处理方面即常方便又高效。

4.1 二维图形 一、plot函数 函数格式:plot(x,y)其中x和y为坐标向量函数功能:以向量x、y为轴,绘制曲线。【例1】在区间0≤X≤2 内,绘制正弦曲线Y=SIN(X),其程序为: x=0:pi/100:2*pi; y=sin(x); plot(x,y)

一、plot函数 【例2】同时绘制正、余弦两条曲线Y1=SIN(X)和Y2=COS(X),其程序为: x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,x,y2) plot函数还可以为plot(x,y1,x,y2,x,y3,…)形式,其功能是以公共向量x为X轴,分别以y1,y2,y3,…为Y轴,在同一幅图内绘制出多条曲线。

一、plot函数 (一)线型与颜色 格式:plot(x,y1,’cs’,...) 其中c表示颜色,s表示线型。 【例3】用不同线型和颜色重新绘制例4.2图形,其程序为:x=0:pi/100:2*pi; y1=sin(x); y2=cos(x); plot(x,y1,'go',x,y2,'b-.') 其中参数'go'和'b-.'表示图形的颜色和线型。g表示绿色,o表示图形线型为圆圈;b表示蓝色,-.表示图形线型为点划线。

一、plot函数 (二)图形标记 在绘制图形的同时,可以对图形加上一些说明,如图形名称、图形某一部分的含义、坐标说明等,将这些操作称为添加图形标记。 title(‘加图形标题'); xlabel('加X轴标记'); ylabel('加Y轴标记'); text(X,Y,'添加文本');

相关主题