Matlab学习——初阶绘图

一、plot

1. plot(x,y)

此时会根据x、y的值来画图

% 示例:
x=0:0.001:2*pi;
y=sin(x);
plot(x,y);

结果:

Matlab学习——初阶绘图_第1张图片

2. plot(y) 

此时x会默认从1开始等差数列的取值,而y是和我们规定的值一致。

% 示例:
y=0:pi/20:2*pi;
plot(sin(y));

输出:

Matlab学习——初阶绘图_第2张图片

3. plot还可以改变输出图形的形状

Matlab学习——初阶绘图_第3张图片

% 示例:
x=0:0.001:2*pi;
y1=sin(x);
y2=cos(x);
hold on
plot(x,y1,'*--g');
plot(x,y2,'x-.r');
hold off

 输出:

Matlab学习——初阶绘图_第4张图片

Matlab学习——初阶绘图_第5张图片

 3. plot还可以用一个指令画多个图像

x=0:0.001:2*pi;
y1=sin(x);
y2=cos(x);
hold on
plot(x,y1,'*--g',x,y2,'x-.r');
hold off

输出: 

Matlab学习——初阶绘图_第6张图片

二、hold on/hold off

hold on 保持原来的图,使其不会被新的图给覆盖调

hoid off 解除hold on,使得新的图会覆盖原来的图

% 示例:
x=0:0.001:2*pi;
y1=sin(x);
y2=cos(x);
hold on
plot(x,y1);
plot(x,y2);
hold off

输出: 

Matlab学习——初阶绘图_第7张图片

三、指定输出图像的名称说明

xlable()指定x轴方向的标题

ylable()指定y轴方向的标题

title指定图像的标题

legend指定图像的图线说明

% 输出:
x=0:0.1:2*pi;
y1=sin(x);
y2=exp(-x);
plot(x,y1,'--*r',x,y2,':ob');
xlabel('t=0 to 2\pi');  %\pi是特殊字符,显示出来是π
ylabel('values of sin(t) and e^{-x}');  %e^{-x}是特殊字符,显示出来是e-x
title('Function Plots of sin(t) and e^{-x}');
legend('sin(t)','e^{-x}');

Matlab学习——初阶绘图_第8张图片

 四、text/annotation函数

text(x,y,string,'Interpreter','latex')

xy表示坐标,string表示文字,'Interpreter','latex'是固定的。

annotation('arrow','x',[x1,x2],'y',[y1,y2])

其中‘arrow’表示形状,‘line’表示直线,‘doublearrow’表示双箭头;[x1,x2]表示线条的起点和终点的x坐标,[y1,y2]表示线条的起点和终点的y坐标。

注意:这里的起点和终点的坐标所用的坐标系和我们的图形的坐标系不是同一个坐标系。这里的起点和终点所用的坐标系是图形视图中的左下角为原点,xy总长度为1的坐标系。

% 示例:
x=linspace(0,3); %产生100个1~3之间的等差数
y=x.^2.*sin(x);
plot(x,y);
line([2,2],[0,2^2*sin(2)]);
str='$$ \int_{0}{2} x^2sin(x) dx $$'; %\int表示∫符号
text(0.25,2.5,str,'Interpreter','latex'); %‘Interpreter','latex’是固定的;0.25和2.5是文字所在的xy坐标
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]); 

 输出:

Matlab学习——初阶绘图_第9张图片

五、line函数

line([x1,x2],[y1,y2]),其中(x1,y1)和(x2,y2)分别表示线段的起点和终点的坐标。

示例:

line([2,2],[0,2])

 输出:

Matlab学习——初阶绘图_第10张图片

六、改变图形的属性

1. 简单的修改方法

Matlab学习——初阶绘图_第11张图片

 点击编辑,选择图窗属性

Matlab学习——初阶绘图_第12张图片

 即可修改各项属性

2. 利用代码修改属性

(1)获得每一个属性的标识码 : 其中Figure object的标识码是gcf,Axes object的标识码是gca,Line object的标识码是h=plot(x,y);

Matlab学习——初阶绘图_第13张图片

 (2)get()和set()函数修改属性

set()函数:

% 示例:
x=linspace(0,2*pi,1000);
y=sin(x);
h=plot(x,y);
get(h);

输出:

 AlignVertexCenters: 'off'
            Annotation: [1×1 matlab.graphics.eventdata.Annotation]
          BeingDeleted: 'off'
            BusyAction: 'queue'
         ButtonDownFcn: ''
              Children: [0×0 GraphicsPlaceholder]
              Clipping: 'on'
                 Color: [0 0.4470 0.7410]
             CreateFcn: ''
             DeleteFcn: ''
           DisplayName: ''
      HandleVisibility: 'on'
               HitTest: 'on'
         Interruptible: 'on'
              LineJoin: 'round'
             LineStyle: '-'
             LineWidth: 0.5000
                Marker: 'none'
       MarkerEdgeColor: 'auto'
       MarkerFaceColor: 'none'
         MarkerIndices: [1×1000 uint64]
            MarkerSize: 6
                Parent: [1×1 Axes]
         PickableParts: 'visible'
              Selected: 'off'
    SelectionHighlight: 'on'
                   Tag: ''
                  Type: 'line'
         UIContextMenu: [0×0 GraphicsPlaceholder]
              UserData: []
               Visible: 'on'
                 XData: [1×1000 double]
             XDataMode: 'manual'
           XDataSource: ''
                 YData: [1×1000 double]
           YDataSource: ''
                 ZData: [1×0 double]
           ZDataSource: ''

Matlab学习——初阶绘图_第14张图片

 set()函数:

修改坐标轴属性:

% 示例:
x=linspace(0,2*pi,1000);
y=sin(x);
h=plot(x,y);
get(h);
set(gca,'FontSize',25);  %‘Fontsize’是指坐标轴字体大小
set(gca,'XTick',0:pi/2:2*pi);  %‘XTick’是刻度值,指定为由递增值组成的向量。
set(gca,'XTickLabel',0:90:360);  %‘XTickLabel’是刻度标签即上面的刻度值所对应的标签
set(gca,'XTickLabel',{'0','π/2','π','3π/2','2π'}); 

 输出:

Matlab学习——初阶绘图_第15张图片

 修改图线属性:

% 示例:
x=linspace(0,2*pi,1000);
y=sin(x);
h=plot(x,y);
set(h,'Color','g','LineWidth',7.0,'LineStyle',':');

输出:

Matlab学习——初阶绘图_第16张图片

(3)delete()函数

delete函数可以删除一个图线

% 示例:
x=linspace(0,2*pi,1000);
y1=sin(x);
y2=cos(x);
hold on
plot(x,y2);
h=plot(x,y1);
delete(h);
hold off

输出:

Matlab学习——初阶绘图_第17张图片

 (4)marker属性

% 示例:
x=rand(20,1);
set(gca,'FontSize',18);
plot(x,'-md','LineWidth',2,'MarkerEdg','k',...
    'MarkerFaceColor','g','MarkerSize',10);
xlim([1,20]);

输出:

Matlab学习——初阶绘图_第18张图片

你可能感兴趣的:(matlab,matlab,开发语言,算法)