• Matlab学习——初阶绘图


    一、plot

    1. plot(x,y)

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

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

    结果:

    2. plot(y) 

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

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

    输出:

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

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

     输出:

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

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

    输出: 

    二、hold on/hold off

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

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

    1. % 示例:
    2. x=0:0.001:2*pi;
    3. y1=sin(x);
    4. y2=cos(x);
    5. hold on
    6. plot(x,y1);
    7. plot(x,y2);
    8. hold off

    输出: 

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

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

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

    title指定图像的标题

    legend指定图像的图线说明

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

     四、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的坐标系。

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

     输出:

    五、line函数

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

    示例:

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

     输出:

    六、改变图形的属性

    1. 简单的修改方法

     点击编辑,选择图窗属性

     即可修改各项属性

    2. 利用代码修改属性

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

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

    set()函数:

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

    输出:

    1. AlignVertexCenters: 'off'
    2. Annotation: [1×1 matlab.graphics.eventdata.Annotation]
    3. BeingDeleted: 'off'
    4. BusyAction: 'queue'
    5. ButtonDownFcn: ''
    6. Children: [0×0 GraphicsPlaceholder]
    7. Clipping: 'on'
    8. Color: [0 0.4470 0.7410]
    9. CreateFcn: ''
    10. DeleteFcn: ''
    11. DisplayName: ''
    12. HandleVisibility: 'on'
    13. HitTest: 'on'
    14. Interruptible: 'on'
    15. LineJoin: 'round'
    16. LineStyle: '-'
    17. LineWidth: 0.5000
    18. Marker: 'none'
    19. MarkerEdgeColor: 'auto'
    20. MarkerFaceColor: 'none'
    21. MarkerIndices: [1×1000 uint64]
    22. MarkerSize: 6
    23. Parent: [1×1 Axes]
    24. PickableParts: 'visible'
    25. Selected: 'off'
    26. SelectionHighlight: 'on'
    27. Tag: ''
    28. Type: 'line'
    29. UIContextMenu: [0×0 GraphicsPlaceholder]
    30. UserData: []
    31. Visible: 'on'
    32. XData: [1×1000 double]
    33. XDataMode: 'manual'
    34. XDataSource: ''
    35. YData: [1×1000 double]
    36. YDataSource: ''
    37. ZData: [1×0 double]
    38. ZDataSource: ''

     set()函数:

    修改坐标轴属性:

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

     输出:

     修改图线属性:

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

    输出:

    (3)delete()函数

    delete函数可以删除一个图线

    1. % 示例:
    2. x=linspace(0,2*pi,1000);
    3. y1=sin(x);
    4. y2=cos(x);
    5. hold on
    6. plot(x,y2);
    7. h=plot(x,y1);
    8. delete(h);
    9. hold off

    输出:

     (4)marker属性

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

    输出:

  • 相关阅读:
    Redis持久化方式
    java 多线程& notifyAll()方法:通知所有线程——73
    前端页面城市显示级连
    Sql语句大全--更新
    TablePlus for Mac/Win:开启高效数据开发新纪元
    QT 实现 TCP 客户端服务器代码
    JavaScript简介
    8个提高摸鱼效率的python自动化脚本,提高打工人幸福感~
    LineageOS:Android开源手机操作系统的未来之路
    HOOPS/QT集成指南
  • 原文地址:https://blog.csdn.net/qq_58011370/article/details/122379002