Matlab笔记 第五章 初阶绘图

目录

1 基础绘图

1.1 plot(y)

1.2 hold on/off

1.3 plot(x,y,'str')

1.4 legend() 

1.5 title()和label()

1.6 text()和annotation()

 练习1

2 图形对象属性

2.1 图形对象

2.2 修改对象的属性

2.2.1 识别对象的手柄

2.2.2 获取或修改对象属性

 练习2

2.3 图像窗口

2.3.1 通过调用figure创建一个图像窗口

2.3.2 图像窗口的位置大小

2.3.3 在一个图像窗口画多个图

2.3.4 网格线、图框和坐标轴的控制

2.3.5 存储图像到文件中


1 基础绘图


Matlab不理解数学函数,因此需要在指定范围内生成函数的数值,以图形方式显示数据“点”。

1.1 plot(y)

plot(cos(0:pi/20:2*pi)); %画图

运行结果:

1.2 hold on/off

使用“hold on”将两个图放在一个图形中。

hold on %继续画开启,可以把两个图像放一起
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off %继续画关闭

运行结果:

 

1.3 plot(x,y,'str')

  • plot(x,y,‘str')用str中定义的格式绘制每个向量对(x,y)
str格式
数据标记线型颜色
点(.)                                          .实线                                             -黑色                                   k
星号(*)                                     *虚线                                            --蓝色                                   b
叉号(×)                                    X虚点线                                         -.青色                                   c
圆(〇)                                     o点线                                             .绿色                                   g
加号(+)                                    +品红                                  m
方形(◻)                                   s红色                                    r
菱形(⬦)                                   d白色                                  w
五角星(☆)                                p黄色                                   y
下三角(▿)                                v
上三角(▵)                                ^
左三角(⨞)                                <
右三角(▷)                                >
六边形                                         H

1.4 legend() 

  • 向图中添加图例
x=0:0.5:4*pi;y=sin(x);h=cos(x);w=1./(1+exp(-x));
g=(1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));
plot(x,y,'bd-',x,h,'gp:',x,w,'ro-',x,g,'c^-');
legend('sin(x)','cos(x)','sigmoid','Gauss function'); %显示图例

1.5 title()和label()

  • 向图中添加图像标题和坐标轴标签
x=0:0.1:2*pi;y1 = sin(x);y2 = exp(-x);
plot(x,y1,'--*',x,y2,':o');
xlabel('t = 0 to 2\pi'); %x轴标签
ylabel('values of sin (t) and e^{-x}'); %y轴标签
title('Function Plots of sin (t) and e^{-x}'); %标题
legend('sin(t)','e^{-x}'); %图例

 

1.6 text()和annotation()

  • 文本注释和图形注释
x = linspace(0,3);y = x.^2.*sin(x); plot(x,y);line([2,2],[0,2^2*sin(2)]);
str='\int_{0}^{2}x^{2}sin(x)dx';
text(0.25,2.5,str,'Interpreter','tex'); %Tex解释
%创建注释,坐标为整个图的比例
annotation('arrow',[0.32 0.5],[0.6 0.4]); %arrow箭头注释

 练习1

画出f=t^2g=\sin(2\pi t)的图像并添加标题和图例

t=1:0.01:2;y1=t.^2;y2=sin(2*pi.*t);
h = plot(t,y1,'k',t,y2,'or');
title('Mini Assignment #1');
xlabel('Time (ms)'); ylabel('f(t)');
legend('t^2','sin(2\pi t)','Location','northwest')

2 图形对象属性


几个属性:字型、字体大小、线宽、轴极限、刻度位置、刻度标签

2.1 图形对象

  • 图像是由许多部件组成的:

x = linspace(0,2*pi,1000); y = sin(x);plot(x,y);
set(gcf,'Color',[1 1 1]); %gcf:返回当前Figure 对象(当前图窗)的句柄值
%color后面的数组代表RGB三个通道的灰度

2.2 修改对象的属性

2.2.1 识别对象的手柄

函数描述
gca返回“当前”轴的句柄
gcf返回“当前”数字的句柄
allchild查找指定对象的所有子对象
ancestor查找图形对象的源
delete删除对象
findall查找所有图形对象

2.2.2 获取或修改对象属性

  • 获取属性使用:get()
x = linspace(0,2*pi,1000);
y= sin(x); plot(x,y);
h = plot(x,y); get(h) %获取对象line属性
get(gca) %获取对象axes的属性
  • 修改属性使用:set()

(1)设定轴限值:

第一种方法

set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);

第二种方法

xlim([0,2*pi]);ylim([-1.2,1.2]);

(2)轴的字体和刻度的设置:

set(gca,'Fontsize',25);
set(gca,'XTick',0:pi/2:2*pi);
set(gca,'XTickLabel',0:90:360);
set(gca,'XTickLabel',...
  {'0','\pi/2','\pi','3\pi/2','2\pi'});

(3)修改线属性:

第一种方法

set(h,'Linestyle','-.','Linewidth',7.0,'color','g');

第二种方法

%%直接在画图时改变线属性
plot(x,y,'-·g','Linewidth',7.0);

 (4)删除对象:

delete(h) %删除h线

 (5)修改点属性:

x = rand(20,1);set(gca,'Fontsize',18);
plot(x,'-md','Linewidth',2,...
     'MarkerEdgecolor','k',... %边缘色
     'MarkerFacecolor','g',... %填充色
     'Markersize',10); %点大小
xlim([1,20]);

 练习2

把练习1中的图像修改:

set(h(1),'LineWidth',5.0);
set(h(2),'MarkerFaceColor','m');
set(gca,'Fontsize',15);

2.3 图像窗口

2.3.1 通过调用figure创建一个图像窗口

x=-10:.1:10;y1 = x.^2-8;y2 = exp(x);
figure,plot(x,y1);figure,plot(x,y2);
 

 2.3.2 图像窗口的位置大小

figure('Position',[left,bottom,width,height]);
%%left:图像框底距离底部的长度
%%bottom:图像框左距离左部的长度
%%width:图像框宽度;height:图像框高度

2.3.3 在一个图像窗口画多个图

 

subplot(m,n,1); %m,n:矩阵大小,1:位置
t=0:0.1:2*pi;x=3*cos(t);y=sin(t);
subplot(2,2,1);plot(x,y);axis normal %无变化
subplot(2,2,2);plot(x,y);axis square %方形
subplot(2,2,3);plot(x,y);axis equal %x、y的刻度间距相同
subplot(2,2,4);plot(x,y);axis equal tight %tight:坐标轴与线紧密

 2.3.4 网格线、图框和坐标轴的控制

grid on/off使网格线可视或不可视
box on/off使图框可视或不可视
axis on/off使坐标轴可视或不可视
axis normal自动调整轴长和数据单元的相对比例
axis square使当前轴区域为正方形
axis equal设置高宽比,使数据单元在各个方向都相同
axis equal tight将轴限值设置为数据的范围
axis image图框紧贴在数据周围
axsi ij将原点放在左上角
axis xy将原点放在左下角

2.3.5 存储图像到文件中

saves(gcf,'<filename>','<formattype>');

 位图图像:亦称为点阵图像或栅格图像,是由称作像素(图片元素)的单个点组成的。

文件类型位图图像格式
‘jpeg’JPEG 24位
‘png’PNG 24位
‘tiff’TIFF 24位(压缩)
‘bmpmono’BMP单色
‘bmp’BMP 24位
'bmp256'BMP 8位(256色,使用固定颜色)

 矢量图:可以无限级缩放,对图形进行缩放,旋转或变形操作时,图形不会产生锯齿效果。

文件类型矢量图像格式
‘pdf’全页便携文件格式(PDF)
'eps'彩色封装PostScript(EPS)
'epsc'三级黑色和白色封装PostScript(EPS)三级颜色
'meta'增强元文件(仅适用于Windows)
'svq'SVG(可伸缩矢量图形)(可插入至办公软件,如Office)
'ps'全页PostScript(PS)级别3黑白
'psc'全页PostScript(PS)级别3颜色

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值