学习MATLAB绘图基础(2)

冷不防 2024-03-30 10:13 217阅读 0赞

MATLAB画图基础(2)

Figure Adjustment

Several properties:
Font 字体
Font size 字体大小
Axis limit 轴线设定
Tick position 刻度位置
Tick label 刻度

Graphical objects 绘图物件

A figure is composed of many objects
在这里插入图片描述
上图代码

  1. x=linspace(0,2*pi,1000);
  2. y=sin(x);
  3. plot(x,y);
  4. set(gcf,'Color',[1 1 1]);

输出结果
在这里插入图片描述

点击图片外围空白区域,轴线,图形,则依次会得到他们的相关属性
点击上图中的“查看”-“属性编辑器”将得到下图
点击更多属性能够得到更多关于图片属性的信息,或者点击“查看”-“属性检查器”也可以看到

点击更多属性能够得到更多关于图片属性的信息,或者点击“查看”-“属性检查器”也可以看到
在这里插入图片描述

Modifying Properties of An Object 更改属性

•Strategy:

  1. Identify the “handle” of an object
  2. Fetch or modify the object’s properties
    在这里插入图片描述
    在进行属性更改时,找到“handle”辨识码十分重要
    下图为部分辨识码。
    在这里插入图片描述
    在更改属性时,需要先对更改的部分进行获取,然后再进行修改设置
    在这里插入图片描述
    单纯的理论解释不好理解,下面进行举例说明
    在这里插入图片描述
    一步一步来,看看将会发生什么
    首先,输入以下代码

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

得到输出下图和Figure1(上文已经出现过,不再重复展示)
在这里插入图片描述
接着执行

  1. get(gca)

会得到关于轴的属性信息与上图类似
在此基础上执行,进行下一步操作

Setting Axes Limits 设置坐标轴

输入以下代码

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

会得到一个更加合适的figure,此时的横轴和竖轴相比于原图更加合适
在这里插入图片描述
上述操作也可用以下代码代替

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

下面进行进一步优化figure,

Setting Font and Tick of Axes 设置轴的刻度和字体

更改坐标轴字体大小
代码如下

  1. set(gca,'FontSize',25);

输出结果如下图:
在这里插入图片描述
可以看到此时的字体看起来更加舒服,更加有利于观察。
下面改变刻度值的个数

  1. set(gca,'XTick',0:pi/2:2*pi);

得到下图,并可以看到横轴坐标点的个数发生改变
在这里插入图片描述

刻度标签的更改
代码如下

  1. set(gca,'XTickLabel',0:90:360);

在这里插入图片描述
此时,我们还未能把刻度单位变成pai。我们需要把font变成symbol
因此输入以下代码

  1. set(gca,'FontName','Symbol');
  2. set(gca,'XTicklabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});

此时显示的结果如下
在这里插入图片描述
弹出的警告为
在这里插入图片描述
所以此时需要更改代码为

  1. set(gca,'FontName','Latex');
  2. set(gca,'XTicklabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});

在这里插入图片描述

Line Specification 线规格

下面更改LineStyle,
代码

  1. set(h,'LineStyle','-.','LineWidth',7.0,'Color','g');

结果如下
在这里插入图片描述
下面时另外一种更改’LineStyle’的方式,但是执行时与h无关,在原图上修改
最后,输入代码

  1. delete(h);

此时,图像消失,但坐标轴的设置还在
在这里插入图片描述

Marker Specification 标记规范

关注点的颜色和边缘的标记
代码

  1. x=rand(20,1);
  2. set(gca,'FontSize');
  3. plot(x,'-md','LineWidth',2, ...
  4. 'MarkerEdgeColor','k', ...
  5. 'MarkerFaceColor','g', ...
  6. 'MarkerSize',10);
  7. xlim([1,20]);

结果如下图
在这里插入图片描述

Exercise 练习

在这里插入图片描述
源代码如下:

  1. t=linspace(1,2);
  2. f=t.*t;
  3. g=sin(2*pi*t);
  4. hold on
  5. plot(t,f,'-k','LineWidth',7);
  6. plot(t,g,'o','markerfacecolor',[0.60 0.20 0.98]);
  7. hold off
  8. xlabel('Tims(ms)');
  9. ylabel('f(t)');
  10. title('Mini Assigment #1');
  11. legend('t^2','sin(2\pit)');
  12. get(gca)
  13. set(gca,'XTick',1:0.2:2)
  14. set(gca, 'YTick',-1:1:4)
  15. set(gca,'FontSize',16)

结果
在这里插入图片描述

Multiple Figures 多图

同时画多幅图,分为两种情况:一种是分多个Figure,另外一中是在一个figure里
第一种情况
代码

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

结果如下
在这里插入图片描述
•Be careful when using the gcf handle where there exists multiple figures。在使用“handle”时,一般是对最新的Figure或者subplot使用,所以需要注意。

Figure Position and Size 位置和尺寸

呼叫Figure以后,可以设置Figure Position and Size
将红色字符换成数字即可
在这里插入图片描述

Several Plots in One Figure 一图多画

m=row,n=column
在这里插入图片描述
实例
代码

  1. t = 0:0.1:2*pi;
  2. x = 3*cos(t);
  3. y = sin(t);
  4. subplot(2, 2, 1);plot(x, y);axis normal
  5. subplot(2, 2, 2);plot(x, y);axis square %x轴整体的长度等于y轴整体的长度
  6. subplot(2, 2, 3);plot(x, y);axis equal %xy轴显示一个相同的单位时大小长度相同,最接近真是比例。
  7. subplot(2, 2, 4);plot(x, y);axis equal tight %让画的图与边框相切

结果如下图
在这里插入图片描述

Control of Grid, Box, and Axis

在这里插入图片描述
grid格线:象限中间的格线可以打开关掉
box:与xy轴相对的线,让plot看起来是闭合的,也可以打开关掉
示例
执行

  1. axis off

结果如下,都是对第四个plot进行操作,因为他是最新的
在这里插入图片描述
执行

  1. axis on

可以返回原图
box示例
执行

  1. box off

结果
在这里插入图片描述
同样执行

  1. box on

也可返回原图

执行

  1. grid on

结果
在这里插入图片描述
依然是执行

  1. grid off

返回原图

总结

本部分是在能画出图形的基础上,对坐标轴、文字和颜色等进行一些必要的调整,以方便观察。

发表评论

表情:
评论列表 (有 0 条评论,217人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Matlab绘图

     Matlab绘图 强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,