- Matlab 教程
- MATLAB - 首页
- MATLAB - 概述
- MATLAB - 功能
- MATLAB - 环境设置
- MATLAB - 编辑器
- MATLAB - 在线版
- MATLAB - 工作区
- MATLAB - 语法
- MATLAB - 变量
- MATLAB - 命令
- MATLAB - 数据类型
- MATLAB - 运算符
- MATLAB - 日期和时间
- MATLAB - 数字
- MATLAB - 随机数
- MATLAB - 字符串和字符
- MATLAB - 文本格式化
- MATLAB - 时间表
- MATLAB - M 文件
- MATLAB - 冒号表示法
- MATLAB - 数据导入
- MATLAB - 数据导出
- MATLAB - 数据归一化
- MATLAB - 预定义变量
- MATLAB - 决策
- MATLAB - 决策语句
- MATLAB - if-end 语句
- MATLAB - if-else 语句
- MATLAB - if-elseif-else 语句
- MATLAB - 嵌套 if 语句
- MATLAB - switch 语句
- MATLAB - 嵌套 switch
- MATLAB - 循环
- MATLAB - 循环
- MATLAB - for 循环
- MATLAB - while 循环
- MATLAB - 嵌套循环
- MATLAB - break 语句
- MATLAB - continue 语句
- MATLAB - end 语句
- MATLAB - 数组
- MATLAB - 数组
- MATLAB - 向量
- MATLAB - 转置运算符
- MATLAB - 数组索引
- MATLAB - 多维数组
- MATLAB - 兼容数组
- MATLAB - 分类数组
- MATLAB - 元胞数组
- MATLAB - 矩阵
- MATLAB - 稀疏矩阵
- MATLAB - 表格
- MATLAB - 结构体
- MATLAB - 数组乘法
- MATLAB - 数组除法
- MATLAB - 数组函数
- MATLAB - 函数
- MATLAB - 函数
- MATLAB - 函数参数
- MATLAB - 匿名函数
- MATLAB - 嵌套函数
- MATLAB - return 语句
- MATLAB - 无返回值函数
- MATLAB - 局部函数
- MATLAB - 全局变量
- MATLAB - 函数句柄
- MATLAB - 滤波函数
- MATLAB - 阶乘
- MATLAB - 私有函数
- MATLAB - 子函数
- MATLAB - 递归函数
- MATLAB - 函数优先级
- MATLAB - map 函数
- MATLAB - mean 函数
- MATLAB - end 函数
- MATLAB - 错误处理
- MATLAB - 错误处理
- MATLAB - try...catch 语句
- MATLAB - 调试
- MATLAB - 绘图
- MATLAB - 绘图
- MATLAB - 绘制数组
- MATLAB - 绘制向量
- MATLAB - 条形图
- MATLAB - 直方图
- MATLAB - 图形
- MATLAB - 二维线图
- MATLAB - 三维图
- MATLAB - 图表格式化
- MATLAB - 对数坐标图
- MATLAB - 绘制误差条
- MATLAB - 绘制三维等高线
- MATLAB - 极坐标图
- MATLAB - 散点图
- MATLAB - 绘制表达式或函数
- MATLAB - 绘制矩形
- MATLAB - 绘制频谱图
- MATLAB - 绘制网格曲面
- MATLAB - 绘制正弦波
- MATLAB - 插值
- MATLAB - 插值
- MATLAB - 线性插值
- MATLAB - 二维数组插值
- MATLAB - 三维数组插值
- MATLAB - 多项式
- MATLAB - 多项式
- MATLAB - 多项式加法
- MATLAB - 多项式乘法
- MATLAB - 多项式除法
- MATLAB - 多项式的导数
- MATLAB - 变换
- MATLAB - 变换函数
- MATLAB - 拉普拉斯变换
- MATLAB - 拉普拉斯滤波器
- MATLAB - 高斯-拉普拉斯滤波器
- MATLAB - 逆傅里叶变换
- MATLAB - 傅里叶变换
- MATLAB - 快速傅里叶变换
- MATLAB - 二维逆余弦变换
- MATLAB - 向坐标轴添加图例
- MATLAB - 面向对象
- MATLAB - 面向对象编程
- MATLAB - 类和对象
- MATLAB - 函数重载
- MATLAB - 运算符重载
- MATLAB - 用户自定义类
- MATLAB - 复制对象
- MATLAB - 代数
- MATLAB - 线性代数
- MATLAB - 高斯消元法
- MATLAB - 高斯-约旦消元法
- MATLAB - 简化行阶梯形
- MATLAB - 特征值和特征向量
- MATLAB - 积分
- MATLAB - 积分
- MATLAB - 二重积分
- MATLAB - 梯形法则
- MATLAB - 辛普森法则
- MATLAB - 其他
- MATLAB - 微积分
- MATLAB - 微分
- MATLAB - 矩阵求逆
- MATLAB - GNU Octave
- MATLAB - Simulink
- MATLAB - 有用资源
- MATLAB - 快速指南
- MATLAB - 有用资源
- MATLAB - 讨论
MATLAB - 图表格式化
为了使您的图表更具表现力,展现更多信息或使数据更容易理解,您可以执行以下操作:添加标题和标签,更改图表的坐标轴范围,并添加辅助线以帮助阅读图表。您还可以将不同的数据组放在同一张图中,方法是将所有数据显示在同一条线上,或在一张图中使用多条线。
图表的格式化可以通过以下方法实现:
- 标签和注释
- 坐标轴外观
- 颜色图
标签和注释
这有助于在图表顶部添加标题,命名线条或在图表上添加注释以突出显示重要信息。您可以制作一个图例来命名图表上的不同部分,或者在图表上的数据点附近添加文字。此外,您还可以绘制诸如框、圆圈、箭头或线条之类的形状来指示图表的特定部分。
要处理标签和注释,您可以使用以下几种方法:
标签方法
序号 | 方法和描述 |
---|---|
1 | title title(titletext) : 添加标题 |
2 | subtitle subtitle(txt) : 向图表添加副标题 |
3 | sgtitle sgtitle(txt) : 向图表网格添加标题 |
4 | xlabel xlabel(txt) : 向 x 轴添加标签 |
5 | ylabel ylabel(txt) : 向 y 轴添加标签 |
6 | zlabel zlabel(txt) : 向 z 轴添加标签 |
7 | fontname fontname(fname) : 设置标签使用的字体名称。 |
8 | fontsize fontsize(size,units) : 设置字体大小 |
9 | legend legend() : 图例创建一个键,其中包含图表上每一组数据的清晰名称。 |
注释方法
序号 | 方法和描述 |
---|---|
1 | text text(x,y,txt) : text 函数在图表的一个或多个点上放置文本。如果您只在一个点上添加文本,请对 x 和 y 使用单个数字。如果您要在多个点上添加文本,请使用具有相同项目数的 x 和 y 列表。 |
2 | xline xline(x) : x 值恒定的垂直线。 |
3 | yline yline(y) : y 值恒定的水平线。 |
4 | xregion xregion(x1,x2) : x 坐标之间的 1-D 填充区域 |
5 | yregion yregion(y1,y2): y 坐标之间的 1-D 填充区域 |
6 | annotation annotation(lineType,x,y) : annotation 函数创建一个连接图表上两点的线或箭头。选择您想要的线类型,例如 'line'、'arrow'、'doublearrow' 或 'textarrow'。使用 [x_begin x_end] 和 [y_begin y_end] 对来指定线或箭头在图表上的起始和结束位置。 |
标签示例
让我们看几个关于如何在 Matlab 中使用上述方法格式化图表的示例。
示例 1
让我们向二维图添加标题和副标题
plot([0 5],[1 5]) title('Straight Line') subtitle('Slope = 5, y-Intercept = 1')
在 Matlab 命令窗口中执行相同的操作,输出为:
示例 2
除了标题,还会添加 x 轴标签和 y 轴标签,如下所示
plot([0 5],[1 5]) title('Straight Line') subtitle('Slope = 5, y-Intercept = 1') xlabel('X scale') ylabel('Y scale')
在 Matlab 命令窗口中执行后,输出为:
示例 3
在这个例子中,我们将添加图例,并更改图例、标题和标签的字体名称和大小。
plot([0 1; 1 2]) title('Straight Line') subtitle('Slope = 5, y-Intercept = 1') xlabel('X scale') ylabel('Y scale') legend("Blue Line","Red Line") fontname("Comic Sans MS") fontsize(16,"points")
注释示例
让我们看几个关于如何在 Matlab 中使用上述方法格式化图表的示例。
示例 1
在二维线图上使用 text()。
plot(1:20) str = {'Line plot','from 1 to 20'}; text(2,7,str)
在 Matlab 命令窗口中执行相同的操作,输出为:
示例 2
使用 xline() 和 yline()
plot(1:20) xline(3); yline(2);
在 Matlab 命令窗口中执行代码后,输出为:
示例 3
x = -10:0.25:10; y = x.^4; plot(x,y) xregion(-2,3)
在 Matlab 命令窗口中执行相同的操作,输出为:
现在我们将使用 yregion,如下所示:
x = -10:0.25:10; y = x.^4; plot(x,y) yregion(1000,3000)
执行后,输出为:
现在我们将使用 yregion,如下所示:
x = -10:0.25:10; y = x.^4; plot(x,y) yregion(1000,3000)
执行后,输出为:
示例 4
在这个例子中,让我们添加一个文本箭头注释,文本为 'y = x',从点 (0.3, 0.6) 开始,到点 (0.5, 0.5) 结束。
plot(1:10) x = [0.3 0.5]; y = [0.6 0.5]; annotation('textarrow',x,y,'String','y = x ')
annotation('textarrow', x, y, 'String', 'y = x'): 这行代码在图表上创建一个文本箭头注释。它指定注释应该是一个文本箭头,使用前面提供的 x 和 y 坐标。与箭头关联的文本为 'y = x'。
坐标轴外观
您可以通过延长或缩短坐标轴、更改标签或添加辅助线来更改图表坐标轴上线条和数字的外观。您还可以将不同的图表叠加在一起或并排放置,甚至可以在一侧使用两组数字。
以下是一些可以帮助格式化坐标轴外观的方法。
序号 | 方法和描述 |
---|---|
1 | xlim() xlim(limits) : 控制当前图表或图形中 x 轴的范围。 |
2 | ylim() ylim(limits) : 控制当前图表或图形中 y 轴的范围。 |
3 | xscale() xscale(scale) : 更改当前图表中 x 轴的显示方式——可以是直线或对数方式。 |
4 | yscale() yscale(scale) : 更改当前图表中 y 轴的显示方式——可以是直线或对数方式。 |
5 | box on 使用“box on”可以显示当前图表的轮廓,方法是启用其 Box 功能。对于 GeographicAxes 对象,这是默认设置。 |
6 | xticks() xticks(ticks): 将刻度线放置在您选择的 x 轴上的特定位置。使用递增数字列表,例如 [0 2 4 6],来指定您想要放置刻度线的位置。这适用于当前图表。 |
7 | yticks() yticks(ticks):在您选择的特定位置放置 y 轴上的刻度标记。使用递增数字列表,例如 [0 2 4 6],来显示您想要这些标记的位置。这适用于当前图形。 |
8 | xticklabels() xticklabels(labels):为当前图形中 x 轴上的刻度标记分配新的标签。您可以使用一组单词,例如 {'January','February','March'} 来替换默认标签。请记住,一旦您设置了这些标签,对图形的任何更改都不会自动更新它们。 |
9 | yticklabels() yticklabels(labels):为当前图形中 y 轴上的刻度标记分配新的标签。您可以使用一组单词,例如 {'January','February','March'} 来替换默认标签。请记住,一旦您设置了这些标签,对图形的任何更改都不会自动更新它们。 |
让我们看几个例子,演示上述方法的工作原理。
示例 1:使用 xlim() 和 ylim()
在下面的示例中,我们有以下代码:
x = linspace(0,20); y = sin(x); plot(x,y) xlim([0 15])
x 轴指定了从 0 到 20 的 linspace。使用 xlim() 将把 x 轴限制在 0 到 15 之间。
在 Matlab 命令窗口中执行代码后,输出为:
现在让我们看看如何使用 ylim() 来限制绘图时的 y 轴。
我们的代码如下:
x = linspace(0,20); y = sin(x); plot(x,y) ylim([-5 5])
我们使用与示例中相同的代码来显示 x 轴的限制,但这里不是限制 x 轴,而是如上所示限制 y 轴。
当您在 MATLAB 命令窗口中执行代码时,输出如下:
示例 2:使用 xscale() 和 yscale()
让我们首先了解如何使用 xscale() 方法,然后是如何使用 yscale() 方法。
以下代码显示了如何使用 xscale():
x = linspace(0.1, 100, 100); y = log(x); plot(x, y); xscale('log');
在这个示例中,第一个绘图使用线性 x 轴比例尺,第二个绘图使用对数 x 轴比例尺。xscale('log') 函数用于将 x 轴比例尺设置为对数。
在 Matlab 命令窗口中执行相同的操作,输出为:
现在让我们了解如何使用 yscale() 方法。我们的代码如下:
x = linspace(0.1, 100, 100); y = log(x); plot(x, y); yscale('log');
在这个示例中,yscale('log') 语句将 y 轴比例尺设置为对数。
在 MATLAB 命令窗口中执行代码后,输出为:
示例 3:使用 box on
以下代码显示了如何使用 box on,以便您获得围绕 3D 绘图的框的显示。
t = linspace(0, 4*pi, 100); x = cos(t); y = sin(t); z = t; plot3(x, y, z, 'LineWidth', 2); box on;
在 Matlab 命令窗口中执行相同的操作,输出为:
示例 4:使用 xticks() 和 yticks()
让我们首先了解如何使用 xticks() 方法。其代码如下所示:
x = linspace(0, 10, 100); y = sin(x); plot(x, y); xticks([2 4 6 8]);
在这个示例中,xticks([2 4 6 8]) 命令将 x 轴刻度值设置为 2、4、6 和 8。您可以将向量 [2 4 6 8] 修改为任何与您希望在 x 轴上显示刻度标记的位置匹配的递增值。执行此代码后,您将看到一个绘图,其刻度标记专门位于 x 轴上的 2、4、6 和 8 值处。
在 Matlab 命令窗口中执行相同的操作,输出为:
现在让我们看看 yticks() 的示例,如下所示:
x = linspace(0, 10, 100); y = sin(x); plot(x, y); yticks([-0.5 0 0.5 1]);
在这个示例中,yticks([-1 -0.5 0 0.5 1]) 命令将 y 轴刻度值设置为 -1、-0.5、0、0.5 和 1。您可以将向量 [-1 -0.5 0 0.5 1] 修改为任何与您希望在 y 轴上显示刻度标记的位置匹配的递增或递减值。执行此代码后,您将看到一个绘图,其刻度标记专门位于 y 轴上的 -1、-0.5、0、0.5 和 1 值处。
在 MATLAB 命令窗口中执行代码后的输出为:
示例 5:使用 xticklabels() 和 yticklabels()
让我们看看如何使用 xticklabels() 的示例。其代码如下:
x = 1:5; y = [4 7 1 9 5]; plot(x, y, 'o-'); xticklabels({'A', 'B', 'C', 'D', 'E'});
在这个示例中,xticklabels({'A', 'B', 'C', 'D', 'E'}) 命令将 x 轴刻度标签设置为 'A'、'B'、'C'、'D' 和 'E'。向量 x 表示沿 x 轴的刻度值,xticklabels 函数允许您为这些刻度分配自定义标签。
在 Matlab 命令窗口中执行相同的操作,输出为:
现在让我们了解如何使用 yticklabels(),如下面的代码所示:
x = 1:5; y = [4 7 1 9 5]; plot(x, y, 'o-'); yticklabels({'One', 'Two', 'Three', 'Four', 'Five'});
在这个示例中,yticklabels({'One', 'Two', 'Three', 'Four', 'Five'}) 命令将 y 轴刻度标签设置为 'One'、'Two'、'Three'、'Four' 和 'Five'。向量 y 表示沿 y 轴的刻度值,yticklabels 函数允许您为这些刻度分配自定义标签。
颜色图
颜色图就像在不同的图片或图形中使用的颜色集合。颜色条显示颜色集中的颜色如何与您的信息匹配。颜色图由带有三个表示颜色的数字的行组成。颜色与您的数据之间的连接会根据您制作的图片或图形的类型而变化。
以下是一些可以帮助处理颜色的方法。
序号 | 方法和描述 |
---|---|
1 | colormap() colormap(map) 将当前图形的颜色方案调整为由指定颜色图“map”定义的颜色方案。 |
2 | colorbar() colorbar(location) 在指定位置(例如 'northoutside')显示颜色条。 |
示例 1:使用 colormap()
mesh(peaks) colormap('cool')
mesh(peaks) − 此命令使用“peaks”函数生成 3D 表面图。“peaks”函数通常用于测试和演示各种 MATLAB 绘图功能。
colormap('cool') − 创建网格图后,colormap 函数用于设置图的颜色方案。具体来说,它将颜色图设置为“cool”。'cool' 颜色图是 MATLAB 内置的颜色图,它从深蓝色平滑过渡到浅青色,从而创建了数据的视觉上吸引人的表示。
在 Matlab 命令窗口中执行后,输出为:
示例 2:使用 colorbar()
mesh(peaks) colormap('cool') colorbar('southoutside')
在上面的示例中,colorbar 函数向绘图添加了一个颜色条。参数 'southoutside' 指定颜色条位于绘图底部的外部。此颜色条提供了解释绘图中颜色的参考,指示颜色与数据值之间的对应关系。
执行后的输出如下: