MATLAB二维绘图如何使用图例来表示数据的单位或量级?

文章目录


前言

在 MATLAB 二维绘图中,图例是展示数据单位或量级的重要工具。以下是几种常见方法及示例。


1. 在图例文本中直接标注单位

最直接的方式是在图例标签中包含单位信息,适用于所有数据具有相同单位的情况。

x = 0:0.1:10;
plot(x, sin(x), 'b-', 'LineWidth', 2);
hold on;
plot(x, 10*cos(x), 'r--', 'LineWidth', 2);
hold off;

legend('sin(x) (单位: V)', '10cos(x) (单位: V)');  % 直接在标签中注明单位

2. 使用 LaTeX 表示科学计数法或复杂单位

MATLAB 支持 LaTeX 语法,可以优雅地表示单位中的指数、分数等。

x = 1:10;
plot(x, x.^2, 'b-', x, 1e3*x.^2, 'r--');

% 使用LaTeX表示量级和单位
legend('x^2 (单位: m/s^2)', '10^3x^2 (单位: km/h^2)');

3. 为不同量级数据添加前缀

当数据量级差异较大时,可以使用前缀(如 k、M、μ 等)来简化表示。

x = 0:0.1:2*pi;
plot(x, sin(x), 'b-');
hold on;
plot(x, 1000*sin(x), 'r--');
hold off;

% 在图例中使用k表示千倍量级
legend('sin(x) (单位: A)', '1000sin(x) (单位: kA)');

4. 通过颜色或线型区分量级

不直接在图例中写量级,而是通过颜色或线型建立对应关系,并在图例标题中说明。

x = 0:0.1:10;
plot(x, x, 'b-', 'LineWidth', 2);       % 1x
hold on;
plot(x, 10*x, 'r--', 'LineWidth', 2);    % 10x
plot(x, 100*x, 'g-.', 'LineWidth', 2);   % 100x
hold off;

% 创建带标题的图例,说明颜色与量级的对应关系
h = legend('实线 (×1)', '虚线 (×10)', '点划线 (×100)');
title(h, '量级');

5. 使用图例分组展示单位

当有多种单位时,可以将图例分组,每组对应一种单位。

x = 0:0.1:10;

% 第一组数据(单位: m)
plot(x, x, 'b-');
hold on;
plot(x, x.^2, 'r--');

% 第二组数据(单位: s)
plot(x, sin(x), 'g-.');
plot(x, cos(x), 'm:');
hold off;

% 分两组添加图例和单位说明
h = legend('x', 'x^2', 'sin(x)', 'cos(x)');
title(h, '单位: m         单位: s');

6. 结合颜色条(Colorbar)表示连续量级

对于使用颜色映射表示量级的散点图或热力图,可配合颜色条说明。

x = rand(100,1);
y = rand(100,1);
values = 1e3 * rand(100,1);  % 量级在0-1000之间

scatter(x, y, 50, values, 'filled');
colorbar;
legend('数据点', '颜色=量级 (单位: Pa)');

7. 自定义图例符号表示量级

使用不同大小或形状的符号来直观表示量级差异。

x = 1:5;
y = [10 50 100 500 1000];  % 不同量级的数据

% 使用marker大小表示量级
for i = 1:length(x)
    plot(x(i), y(i), 'o', 'MarkerSize', y(i)/100, 'MarkerFaceColor', 'b');
    hold on;
end
hold off;

% 在图例中说明符号大小与量级的关系
legend('数据点 (大小∝量级)');
本文是转载文章,点击查看原文
如有侵权,请联系 lx@jishuguiji.net 删除。