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)); %画图

运行结果:

Matlab笔记 第五章 初阶绘图_第1张图片

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 %继续画关闭

运行结果:

 Matlab笔记 第五章 初阶绘图_第2张图片

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'); %显示图例

Matlab笔记 第五章 初阶绘图_第3张图片

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}'); %图例

 Matlab笔记 第五章 初阶绘图_第4张图片

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箭头注释

Matlab笔记 第五章 初阶绘图_第5张图片

 练习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')

Matlab笔记 第五章 初阶绘图_第6张图片

2 图形对象属性


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

2.1 图形对象

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

Matlab笔记 第五章 初阶绘图_第7张图片

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);

Matlab笔记 第五章 初阶绘图_第8张图片

 (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]);

Matlab笔记 第五章 初阶绘图_第9张图片

 练习2

把练习1中的图像修改:

Matlab笔记 第五章 初阶绘图_第10张图片

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 在一个图像窗口画多个图

Matlab笔记 第五章 初阶绘图_第11张图片 

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:坐标轴与线紧密

Matlab笔记 第五章 初阶绘图_第12张图片

 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,'','');

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

文件类型 位图图像格式
‘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颜色

 

你可能感兴趣的:(Matlab笔记,matlab,开发语言,青少年编程)