文章目录
- 前言
- 1. 在图例文本中直接标注单位
- 2. 使用 LaTeX 表示科学计数法或复杂单位
- 3. 为不同量级数据添加前缀
- 4. 通过颜色或线型区分量级
- 5. 使用图例分组展示单位
- 6. 结合颜色条(Colorbar)表示连续量级
- 7. 自定义图例符号表示量级
前言
在 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('数据点 (大小∝量级)');