MATLAB 绘图基础

关于作图函数

  • 作图函数直接看官方文档就可以了,非常简单。

  • 如果想知道有那些可用的函数,MATLAB 上面工作栏里有个绘图,那里面可以看到所有的绘图函数,跟着函数名去看文档就行了。

  • 真正比较麻烦的是如何去控制图窗,比如设定 X 、Y 轴的刻度。

属性编辑器

一个 figure 的属性有很多,比如图窗属性、坐标区属性等,每个属性又包含很多子属性,比如文字的颜色、字体、粗细,线条的颜色、样式等。我们可以记住比较常见的代码来快速达到基本要求,但是如果我们要精致地修改图像,可以通过属性编辑器和句柄来修改。 属性编辑器打开方式:点击figure界面的编辑>图窗属性。打开以后出现交互界面,可以方便地进行修改,而且实现了可视化。鼠标单击图像的不同位置,可以自动切换图窗、坐标区、当前对象的界面。

在这里插入图片描述

图形句柄

  • 一个 Figure 由三部分组成,图窗 Figure、坐标区 Axis、以及上面的图形(比如一条直线)

  • 上面这些都有句柄。上述这些图形都是一个对象,得到句柄就类似于得到了这个类的对象,直接修改句柄里的属性就可以改变外观。比如先给下面这个例子:

h = plot([1, 2],[3, 4])
  • 输入后就命令行就会打印出句柄属性(没加分号就会打印)

  • 然后的事情就很简单了,如果你想修改颜色,就可以直接写:h.Color='y' 就变成黄色了(图窗不能关闭,关闭了 h 就销毁了)

  • 如果你想让图形变成任意你想要的样子,查看这里的属性,然后直接用句柄修改,绝对是很好的办法(因为很多时候,让你束手无策的是你并不知道你想要的属性叫什么名字,在这里可以查到)。

  • 还有一种方法,就是双击MATLBA右侧工作区的 h 变量,就会调出交互界面。

三个句柄

  • 一般 figure 的句柄没有什么用,图形的句柄由赋值获取,所有的画图函数都能返回一个句柄。而坐标区句柄则是用 gca() 获取,可以获得当前的坐标区句柄。

h = gca()
  • 坐标区句柄包括坐标轴的刻度、标注等,大家可以试一试,来改变坐标区的刻度。

  • 在同一坐标区,如果要画多个图,需要加一句 hold on。否则前面的图会消失。

  • 有一些常见的控制操作,比如 axis equal、grid on 等,大家可以试一下效果。

坐标标注

  • 用 xlabel、title、legend 函数可以添加对应标注,大家可以去看文档。值得一提的是,这些标注是支持简单 Latex 公式的。

figure()
n = 5;
t = (0: 0.01: 0.2);
y = exp(-25*t);
plot(t, y)
title(['图',mat2str(n),':y =\ite^{\lambda t}+x_1'],'Color','b')

在这里插入图片描述

分割子图

  • 一个图窗可以有很多图,用 subplot() 函数来划分

% 将图窗分为 2 行 3 列,并获取 第 1 行,第 1 列的图窗
subplot(2, 3, 1)
% 在当前图窗操作
plot(x,y)

% 转到 第 1 行 第 2 列的图窗
subplot(2, 3, 2)
% 在这个图窗画图
plot(x, y)
  • 可以去看一下文档,还有一些其他的用法,不过不经常用到。

view

  • view可以改变对三维视图的视角,通常只需用figure窗口里的三维旋转工具就可以动态地观察。下面介绍几个常用的代码。

  • 这个函数很少见,可以忽略。

view(3)

恢复默认的三视图视角

view(ez,el)或view([ez,el])

设置方位角为ez,俯角为el。通常用于观察三视图。[0,0]是正视图;[90,0]是侧视图,[0,90]是俯视图。 例如:

figure
subplot(2,2,4);
surf(x,y,z);
view(3);
title('view(3)');

subplot(2,2,1);
surf(x,y,z);
view(0,0);
title('正视图');

subplot(2,2,2);
surf(x,y,z);
view(90,0);
title('侧视图');

subplot(2,2,3);
surf(x,y,z);
view(0,90);
title('俯视图');

在这里插入图片描述


本文章使用limfx的vsocde插件快速发布