Matlab(5)初阶绘图

一、 Basic plotting

matlab具有强大的绘图功能

1. plot()

  • plot(x,y)在x,y画点
  • plot(y) 默认x=[1…n] n=length(y)
    Example
    plot(cos(0:pi/20:2*pi));
    一共是四十个点
    在这里插入图片描述

2. hold on/off

matlab默认后面画的图会覆盖前面画的图
如果想保留前面画的图,就要用到hold on
hold off则是结束
在这里插入图片描述

3. Plot Style

plot(x,y,‘str’)
在这里插入图片描述
Example
在这里插入图片描述
也可以同时画多个图:

>>x=0:0.5:*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));
%注意这里的表达式用的都是.*./,因为正如之前所说,
%传进来的x与y都是矩阵,所以需要的是对应相乘/相除
>> plot(x,y,'bd-',x,h,'gp:',x,w,'ro-',x,g,'c^-');

在这里插入图片描述

4. legend()

legend(‘L1’,‘L2’,…)
给图中的多个图加上图标,如为上图加上图标,只需要在最后再加一句:

legend(‘sin(x)’,‘cos(x)’,‘sigmoid’,‘Gauss function’);

在这里插入图片描述
还可以控制legend的位置,如:

legend(‘t^2’,‘sin(2\pit)’,‘location’,‘northwest’)
在这里插入图片描述

5. title() and ?label()

  • title()
  • xlabel()
  • ylabel()
  • zlabel()
    example
>>x=0:0.1:2*pi;y1=sin(x);y2=exp(-x);
>>plot(x,y1,'--*',x,y2,':o');
>>xlabel('t = 0 to 2\pi');
%这里pi前加反斜杠、表示这里的pi要转义,图中就会显示Π*
>>ylabel('values of sin(t) and e^{-x}');
%这里-x必须要用大括号括起来表示是一个整体*
>>title('Function Plots of sin(x) and e^{-x}');
>>legend('sin(t)','e^{-x}');

在这里插入图片描述

6. text() and annotation()

用LaTex表示数学表达式

>>x=linspace(0,3);y=x.^2.*sin(x);plot(x,y);
%linspace - 生成线性间距向量
%MATLAB 函数 返回包含 x1 和 x2 之间的 100 个等间距点的行向量。
>> line([2,2],[0,2^2\*sin(2)]);
%就是一条(20)到(22^2\*sin(2))的线
>> str='$$ \int_{0}^{2} x^2\sin(x) dx $$';
%$$ 表示LaTex表达式开头和结尾
%\int表示积分符号
%_{}表示下标 
% ^{}表示上标
% \表示转义符
>> text(0.25,2.5,str,'Interpreter','latex');
>> annotation('arrow','x',[0.32,0.5],'Y',[0.6,0.4]);
%0.320.50.60.4表示的都是比例,所以范围是[0,1],x是从左到右,y是从上到下

二、 Grapgical object properties

  • Font
  • Font size
  • Line width
  • Axis limit(坐标轴)
  • Tick position(Tick指的是刻度)
  • Tick label
    在这里插入图片描述
  • Figure Object 指的是画布
  • Axes Object 指的是坐标轴
  • Line Object 指的是线

1. Figure Adjustment

(1) Identifying the Handle of An Onbject

  • Upon creation:
    h=plot(x,y);
  • Utility functions:
    在这里插入图片描述

(2) Setting Axes Limits

set(gca,‘XLim’/‘YLim’,[-n,n]) 将x坐标/y坐标改为[-n,n]

(3) Setting Font and Ticks of Axes

set(gca,‘Font’,25);
set(gca,‘XTick’,0:pi/2:2*pi);

会根据所给的实际值修改刻度的位置与值

set(gca,‘XTickLabel’,0:90:360)

将刻度的值改为所给的值,而不管所给值与实际位置的值是否相符
Example
>>x=linspace(-10,10);y=sin(x);plot(x,y);
在这里插入图片描述
>>set(gca,‘XTick’,-2pi:pi/2:2pi)
在这里插入图片描述
放大一部分看
在这里插入图片描述
即变成了按照pi/2 的整数倍来当刻度
>>set(gca,‘XTickLabel’,-10:1)
在这里插入图片描述
不修改刻度位置,只修改值
这个的用处是将刻度设置为弧度制或特殊符号位
如:先用set(gca,‘XTick’,-2pi:pi/2:2pi)将刻度位置设置好
然后
>>set(gca,‘FontName’,‘Tex’);
>>set(gca,‘XTickLabel’,{’-2\pi’,’-3\pi/2’,’-\pi’,’-\pi/2’,‘0’,’\pi/2’,’\pi’,‘3\pi/2’,‘2\pi’});
结果:
在这里插入图片描述

(4) Line Spacification

h=plot(x,y);
set(h,‘LineStyle’,’-.’,‘LineWidth’,1.0,‘Color’,‘r’);
在这里插入图片描述

h的LineSTyle改为’-.’,LineWidth改为1.0,Color改为’g’。

(5) Marker Specification

指的是点

  • face 点的填充颜色
  • edge 点的边框颜色
    Example
>> x=rand(20,1);
>> set(gca,'FontSize',18);
>> plot(x,'-md','LineWidth',2,'MarkerEdgeColor','k',...
       'MarkerFaceColor','g','MarkerSize',10);
%一个属性名跟一个属性值,属性值代表什么意思可查看前文中Plot Style中的表
>> xlim([1,20])

在这里插入图片描述
也可给已有图加Marker

>> h=plot(x,sin(2*pi.*x));
>> h.set(‘Marker’,‘o’,‘MarkerEdgeColor’,‘k’,…
‘MarkerFaceColor’,‘g’,‘MarkerSize’,3);
>>
在这里插入图片描述

2. Multiple Figures

画两张图(并不是在同一张图里画两个)

>> x=-10:0.1:10;
>> y1=x.^2-8;
>> y2=exp(x);
>> figure,plot(x,y1);
%加上关键字figure,呼叫figure
>> figure,plot(x,y2);

在这里插入图片描述
figure也可以指定位置与大小

figure(‘Position’,[left,bottom,width,height])

3. Several Plots in One Figure

在一个figure上有很多的plots,如:
subplot(m,n,1)
在这里插入图片描述
example
在这里插入图片描述
在这里插入图片描述

grid 是格线

4. Saving Figures into Files

在这里插入图片描述
位图&矢量图

位图由像素(图片元素)的单个点组成的,这些点可以进行不同的排列和染色以构成图样,当放大位图时,可以看见赖以构成整个图像的无数单个方块。

矢量图是由线连接的点,矢量文件中的图形元素称为对象。每个对象都是一个自成一体的实体,它具有颜色、形状、轮廓、大小和屏幕位置等属性。

位图的特点是可以表现色彩的变化和颜色的细微过渡,产生逼真的效果,缺点是图片放大会失真。矢量图则是放大不会失真。

高精度要用print

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值