- 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 - 添加图例到坐标轴
在 MATLAB 中,图例是对绘图中存在的数据序列或元素的图形表示。它通过为每个元素提供标签来帮助用户理解绘图中使用的不同颜色、线型或标记的含义。当绘图包含多个数据序列或需要区分不同类型的数据时,图例特别有用。
通过向绘图添加图例,用户可以轻松识别哪个数据序列对应于哪组值,从而使绘图更具信息量且更容易解释。可以根据位置、方向、字体大小和其他属性自定义图例,以增强绘图的清晰度和美观性。
legend 函数用于在 MATLAB 中创建图例。
语法
legend legend(label1,...,labelN) legend(labels) legend(subset,___) legend(target,___)
语法解释
legend − MATLAB 中的图例就像理解绘图的关键一样。它显示了绘图中每条线、颜色或符号代表的内容。当您在 MATLAB 中绘制数据时,您可以为每组数据命名,图例将使用这些名称为绘图添加标签。如果您没有命名,MATLAB 将将数据标记为“data1”、“data2”等。
图例很智能,会在您向绘图中添加或删除数据时自动更新自身。如果还没有绘图,则图例将为空。如果没有坐标轴,MATLAB 将为图例创建一个坐标轴。
legend(label1,...,labelN) − MATLAB 中的函数用于向绘图添加标签,以解释绘图的每个部分代表什么。您可以像这样使用它:legend('Label1', 'Label2', 'Label3') 用 'Label1'、'Label2' 和 'Label3' 为绘图的不同部分添加标签。
legend(labels) − MATLAB 中的函数用于向绘图添加标签,以解释绘图的每个部分代表什么。您可以像这样使用它:legend({'Label1', 'Label2', 'Label3'}) 用 'Label1'、'Label2' 和 'Label3' 为绘图的不同部分添加标签。
legend(subset,___) − MATLAB 中的函数可用于仅在图例中显示绘图中的特定项目。您可以通过提供表示要包含的项目的图形对象的向量来执行此操作。这意味着您可以选择绘图中哪些部分在图例中进行解释,只显示您选择的元素。
legend(target,___) − MATLAB 中的函数可用于为特定坐标轴或可视化创建图例,而不是当前活动的图例。您可以通过将目标坐标轴或可视化指定为 legend 函数的第一个输入参数来执行此操作。这允许您将图例放置在任何您想要的位置,而不管当前绘图如何。
示例 1:在示例中使用图例
我们拥有的代码是。
% Create an array of values from 0 to pi x = linspace(0, pi); % Calculate y1 = cos(x) and plot it with a label 'cos(x)' y1 = cos(x); plot(x, y1, 'DisplayName', 'cos(x)') % Hold the current plot to add another plot hold on % Calculate y2 = cos(2x) and plot it with a label 'cos(2x)' y2 = cos(2*x); plot(x, y2, 'DisplayName', 'cos(2x)') % Release the hold to prevent further plots from being added to the current figure hold off % Display the legend with labels for each plot legend
在上面的示例中 −
- 我们使用 linspace 函数创建一个从 0 到 π 的 x 数组。我们计算 y1,它是 x 中每个值的余弦,表示 cos(x)。
- 我们使用蓝线绘制 y1,并使用绘图函数中的“DisplayName”参数将其标记为“cos(x)”。我们使用 hold on 保持当前绘图处于活动状态,以便我们可以添加另一个绘图。
- 我们计算 y2,它是 2*x 的余弦,表示 cos(2x)。我们使用红色虚线绘制 y2 并将其标记为“cos(2x)”。
- 我们使用 hold off 释放保持状态,防止将更多绘图添加到当前图形。
- 最后,我们使用 legend 函数显示图例,该函数自动使用绘图函数中设置的显示名称 (“DisplayName”) 为每个绘图添加标签。
我们的输出是 −
示例 2:使用 legend(label1,...,labelN) 语法
我们拥有的代码是
x = 0:0.1:2*pi; y1 = sin(x); y2 = cos(x); plot(x, y1, 'b-', x, y2, 'r--'); legend('sin(x)', 'cos(x)');
在此示例中,我们绘制 sin(x) 和 cos(x),然后使用 legend 函数向绘图添加图例。legend 函数采用字符串作为参数,这些字符串用作相应数据序列的标签。
执行后,我们的输出是 −
示例 3:使用语法 legend(labels)
我们拥有的代码是 −
x = 0:0.1:2*pi; y1 = sin(x); y2 = cos(x); plot(x, y1, x, y2); legend({'sin(x)', 'cos(x)'});
在上面的示例中 −
- 我们创建一个步长为 0.1 的从 0 到 2π 的向量 x。
- 我们分别计算 x 的正弦值和余弦值,并将它们存储在 y1 和 y2 中。
- 我们针对 x 绘制 y1 和 y2。
- legend 函数使用元胞数组 {'sin(x)', 'cos(x)'} 作为其参数。元胞数组中的每个字符串都代表相应数据序列的标签。此语法允许我们使用 'sin(x)' 和 'cos(x)' 为绘图的不同部分添加标签。
执行后,我们的输出是 −
示例 4:使用语法 legend(subset,___)
我们拥有的代码如下 −
x = linspace(0, pi); y1 = cos(x); p1 = plot(x, y1); hold on y2 = cos(2*x); plot(x, y2); y3 = cos(3*x); p3 = plot(x, y3); % Release the hold to prevent further plots from being added to the current figure hold off % Display the legend with labels for the first and third plots legend([p1, p3], {'First', 'Third'})
在上面的示例中 −
- 我们使用 linspace 函数创建一个从 0 到 π 的数组 x。
- 我们计算 y1,它是 x 中每个值的余弦,表示 cos(x),并绘制它,将绘图句柄保存为 p1。
- 我们使用 hold on 保持当前绘图处于活动状态,以便我们可以添加更多绘图。
- 我们计算 y2,它是 2*x 的余弦,表示 cos(2x),并绘制它(但不保存绘图句柄)。
- 我们计算 y3,它是 3*x 的余弦,表示 cos(3x),并绘制它,将绘图句柄保存为 p3。
- 我们使用 hold off 释放保持状态,防止将更多绘图添加到当前图形。
- 最后,我们使用 legend 函数显示图例,指定绘图句柄 [p1, p3] 以仅在图例中包含第一个和第三个绘图,并为它们提供标签“First”和“Third”。
输出为 −
示例 5:使用语法 legend(target,___)
我们拥有的代码是 −
figure; ax = gca; x = 0:0.1:2*pi; y1 = sin(x); y2 = cos(x); plot(ax, x, y1, x, y2); title(ax, 'Trigonometric Functions'); xlabel(ax, 'x'); ylabel(ax, 'y'); legend(ax, {'sin(x)', 'cos(x)'}, 'Location', 'best');
在上面的示例中 −
- 我们创建一个新图形,并使用 gca 获取当前坐标轴 (ax)。
- 我们在指定的坐标轴 ax 上绘制正弦和余弦函数。
- 我们设置坐标轴的标题和标签,为绘图提供上下文。
- legend 函数使用指定的坐标轴 ax 作为第一个参数。这告诉 MATLAB 为指定的坐标轴创建图例,而不是当前坐标轴。
- 图例使用标签“sin(x)”和“cos(x)”分别对应相应的曲线,并使用参数'Location', 'best' 将图例放置在坐标轴上最佳位置。 使用legend(target,___) 语法允许您为特定坐标轴创建图例,这在您有多个绘图或图形并希望控制图例显示位置时非常有用。
输出为 −