matlab使用教程(7)—基本画图函数

1.创建绘图

plot 函数具有不同的形式,具体取决于输入参数。
• 如果 y 是向量, plot(y) 会生成 y 元素与 y 元素索引的分段线图。
• 如果有两个向量被指定为参数, plot(x,y) 会生成 yx 的图形。
使用冒号运算符创建从 0 至 2 πx 值向量,计算这些值的正弦,并绘制结果。

x = 0:pi/100:2*pi;
y = sin(x);
plot(x,y)


添加轴标签和标题。 xlabel 函数中的字符 \pi 用于创建符号 πtitle 函数中的 FontSize 属性用于增大标题所用的文本大小。

xlabel('x = 0:2\pi')
ylabel('Sine of x')
title('Plot of the Sine Function','FontSize',12)

2绘制多个图形

通过调用一次 plot ,多个 x-y 对组参数会创建多幅图形。MATLAB® 对每条线使用不同的颜色。 例如,下列语句绘制 x 的三个相关函数:

x = 0:pi/100:2*pi;
y = sin(x);
y2 = sin(x-.25);
y3 = sin(x-.5);
plot(x,y,x,y2,x,y3)


legend 函数提供了一种标识各条线的简单方法:

legend('sin(x)','sin(x-.25)','sin(x-.5)')

3指定线型和颜色

使用 plot 命令绘制数据时,可以指定颜色、线型和标记(例如加号或圆圈):

plot(x,y,'color_style_marker')

color_style_marker 包含一至四个字符(包括在单引号中),这些字符根据颜色、线型和标记类型构造而成。例如,

plot(x,y,'r:+')

使用红色点线绘制数据,并在每个数据点处放置一个 + 标记。color_style_marker 由下列元素的组合形式构成。

4绘制线条和标记

如果指定标记类型,但未指定线型,MATLAB 仅使用标记创建图形,而不会创建线条。例如,

plot(x,y,'ks')

在每个数据点绘制黑色正方形,但不会使用线条连接标记。语句

plot(x,y,'r:+')

绘制红色点线,并在每个数据点处放置加号标记。

5在每十个数据点处放置标记

此示例展示如何使用比绘制线条所用的数据点更少的数据点来绘制标记。它使用点线图和标记图(分别采用不同数目的数据点)绘制两次数据图:

x1 = 0:pi/100:2*pi;
x2 = 0:pi/10:2*pi;
plot(x1,sin(x1),'r:',x2,sin(x2),'r+')

6绘制虚数和复数数据

将多个复数值作为参数传递给 plot 时,MATLAB 会忽略虚部,但传递一个复数参数时除外。对于这一特殊情况,该命令是绘制虚部对实部的图的一种快捷方式。因此,

plot(Z)

其中 Z 是复数向量或矩阵,等效于

plot(real(Z),imag(Z))

下列语句将绘制一个具有 20 条边的多边形,并在各顶点处绘制一个小圆圈。

t = 0:pi/10:2*pi;
plot(exp(1i*t),'-o')
axis equal


axis equal 命令使 x 和 y 轴上的各刻度线增量的长度相同,这会使此绘图看起来更加圆润。

7将绘图添加到现有图形中

hold 命令用于将绘图添加到现有图形中。当键入 hold on 时,MATLAB 不会在您发出其他绘图命令时替换现有图形。MATLAB 而会将新图形与当前图形合并在一 起。例如,下列语句首先创建 peaks 函数的曲面图,然后叠加同一函数的等高线图:

[x,y,z] = peaks;
% Create surface plot
surf(x,y,z)
% Remove edge lines a smooth colors
shading interp
% Hold the current graph
hold on
% Add the contour graph to the pcolor graph
contour3(x,y,z,20,'k')
% Return to default
hold off

8图窗窗口

如果尚未创建图窗窗口,绘图函数会自动打开一个新的图窗窗口。如果打开了多个图窗窗口,MATLAB 将使用指定为"当前图窗"(通常为上次使用的图窗)的图窗窗口。
要将现有图窗窗口设置为当前的图窗,请将指针放置在该窗口中并点击鼠标,或者也可以键入

figure(n)

其中 n 是图窗标题栏中的编号。要打开新的图窗窗口并将其作为当前图窗,请键入
figure
9清空图窗以便创建新绘图
如果某图窗已存在,大多数绘图命令会清除轴并使用此图窗创建新绘图。但是,这些命令不会重置图窗属性,例如,背景色或颜色图。如果已在以前的绘图中设置图窗属性,您可以先使用带有 reset 选项的 clf 命令。

clf reset

然后创建新绘图,以便将此图窗的属性恢复为其默认值。

9在一幅图窗中显示多个绘图

subplot 命令用于在同一窗口中显示多个绘图,或者在同一张纸上打印这些绘图。键入以下命令

subplot(m,n,p)

会将图窗窗口划分为由多个小子图组成的 m × n 矩阵,并选择第 p 个子图作为当前绘图。这些绘图沿图窗窗口的第一行进行编号,然后沿第二行进行编号,依此类推。例如,下列语句在图窗窗口的三个子区域绘制数据:

x = 0:pi/20:2*pi;
subplot(3,1,1); plot(sin(x))
subplot(3,1,2); plot(cos(x))
subplot(3,1,3); plot(sin(x).*cos(x))

10控制轴

axis 命令提供了许多用于设置图形的比例、方向和纵横比的选项。

10.1自动改变坐标轴范围和刻度线

默认情况下,MATLAB 查找数据的最大值和最小值,并选择坐标轴范围来覆盖此范围。MATLAB 选择范围和轴刻度线值,以便生成可清楚地显示数据的图形。但是,您可以使用 axisxlimylimzlim 函数来设置您自己的范围。
注意更改一个轴的范围可能会导致其他范围也发生更改,从而更好地表示数据。要禁用自动范围设置,请输入 axis manual 命令。

10.2设置坐标轴范围

axis 命令用于指定您自己的范围:

axis([xmin xmax ymin ymax])

或者对于三维图形,

axis([xmin xmax ymin ymax zmin zmax])

请使用命令

axis auto

重新启用自动范围选择。

10.3设置轴纵横比

axis 命令还可用于指定多种预定义模式。例如,

axis square

使 x 轴和 y 轴的长度相同。

axis equal

使 x 轴和 y 轴上的各个刻度线增量的长度相同。这意味着

plot(exp(1i*(0:pi/10:2*pi)))

(后跟 axis squareaxis equal )会将椭圆形转变为正圆:

axis auto normal

将轴比例恢复为其默认的自动模式。

10.4设置轴可见性

使用 axis 命令可以显示或隐藏轴。

axis on

显示轴。这是默认设置。

axis off

隐藏轴。

10.5设置网格线

grid 命令启用和禁用网格线。语句

grid on

启用网格线,而

grid off

再次禁用网格线。

10.6添加轴标签和标题

此示例展示如何创建图形并增强其显示:
• 定义 x 和 y 轴的范围 ( axis )
• 对 x 和 y 轴添加标签( xlabelylabel
• 添加标题 ( title )
• 在图形中添加文本附注 ( text )
使用 LaTeX 表示法生成数学符号。如需关于在图形中放置箭头、方框和圆圈的信息,请参阅 annotation 函数。

11保存图窗

通过从 文件 菜单中选择 保存来保存图窗。这会将图窗写入到文件,包括属性数据、图窗菜单、uicontrol 和所有注释(即整个窗口)。如果这个图窗以前未被保存过, 另存为对话框则会出现。此对话框提供用于将图窗另存为 .fig 文件或将其导出为图形格式的选项。
如果以前保存过这个图窗,再次使用 保存 会以"静默"方式保存图窗,而 另存为 对话框不会出现。
要使用标准图形格式(例如,TIFF 或 JPG)保存图窗以便用于其他应用程序,请从 文件 菜单中选择 另存为 (如果需要其他控件,则选择 导出设置 )。
注意当指定保存图窗的格式时,下次保存该图窗或新图窗时,将再次使用该文件格式。如果您不希望按以前使用的格式保存,请使用 另存为 ,并确保将 保存类型下拉菜单设置为要写入的文件类型。也可通过以下命令行进行保存:
• 使用 savefig 函数将图窗及其包含的图形对象保存为 .fig 文件。
• 使用包含任意选项的 saveas 命令,以各种格式保存图窗。

11.1加载图窗

您可以使用以下函数将图窗加载到 MATLAB:
• 使用 openfig 函数加载保存为 .fig 文件的图窗。
• 使用 imread 函数将标准图形文件(包括保存图窗)读入到 MATLAB 中。

11.2生成 MATLAB 代码以便再建图窗

通过从图窗 文件 菜单中选择 生成代码,可以生成用于再建图窗及其所包含的图形的 MATLAB 代码。如果您已使用绘图工具创建图形,并且希望使用相同或不同数据创建类似图形,此选项尤其有用。

12保存工作区数据

通过从图窗 文件 菜单中选择 将工作区另存为 ,可以保存工作区中的变量。使用图窗 文件 菜单中的 导入数据项可以重新加载保存的数据。MATLAB 支持多种数据文件格式,包括 MATLAB 数据文件,该数据文件的扩展名为 .mat

相关推荐
Bubluu7 分钟前
浏览器点击视频裁剪当前帧,然后粘贴到页面
开发语言·javascript·音视频
AI人H哥会Java28 分钟前
【Spring】基于XML的Spring容器配置——<bean>标签与属性解析
java·开发语言·spring boot·后端·架构
开心工作室_kaic38 分钟前
springboot493基于java的美食信息推荐系统的设计与实现(论文+源码)_kaic
java·开发语言·美食
析木不会编程1 小时前
【C语言】动态内存管理:详解malloc和free函数
c语言·开发语言
神仙别闹1 小时前
基于Java2D和Java3D实现的(GUI)图形编辑系统
java·开发语言·3d
雪球不会消失了1 小时前
SpringMVC中的拦截器
java·开发语言·前端
机器学习之心1 小时前
回归预测 | MATLAB实现CNN-LSTM卷积长短期记忆神经网络多输入单输出回归预测
神经网络·matlab·回归·cnn-lstm
钝挫力PROGRAMER1 小时前
#!/bin/bash^M 坏的解释器:没有哪个文件或者目录
开发语言·bash
初学者丶一起加油1 小时前
C语言基础:指针(数组指针与指针数组)
linux·c语言·开发语言·数据结构·c++·算法·visual studio
程序员大阳1 小时前
闲谭Scala(1)--简介
开发语言·后端·scala·特点·简介