MATLAB绘图技巧:让你的图表更专业
创作时间:
作者:
@小白创作中心
MATLAB绘图技巧:让你的图表更专业
引用
CSDN
1.
https://blog.csdn.net/weixin_31268759/article/details/146055958
在科研、工程和数据分析领域,MATLAB是一款不可或缺的科学计算软件。其强大的绘图功能可以帮助用户直观地展示数据和分析结果。掌握一些MATLAB绘图的小技巧,不仅可以提高绘图效率,还能让你的图表更加专业和美观。本文将介绍一些实用的MATLAB绘图技巧,帮助你轻松绘制出高质量的图表。
1. 设置图形窗口的默认参数
MATLAB的默认绘图参数可能不符合你的需求。通过修改默认参数,可以节省大量时间。例如,设置默认的字体大小、线宽等。
set(groot,'DefaultAxesFontSize',14); % 设置默认字体大小为14
set(groot,'DefaultLineLineWidth',2); % 设置默认线宽为2
2. 多图绘制与子图布局
使用 subplot 可以在同一个图形窗口中绘制多个子图。通过调整子图的布局和间距,可以更好地展示数据。
% 定义数据
x1 = 0:0.1:2*pi;
y1 = sin(x1);
x2 = 0:0.1:2*pi;
y2 = cos(x2);
% 创建一个新的图形窗口
figure;
% 创建2行1列的子图布局,并选择第1个子图
subplot(2,1,1);
plot(x1, y1);
title('子图1');
xlabel('x');
ylabel('sin(x)');
grid on;
% 创建2行1列的子图布局,并选择第2个子图
subplot(2,1,2);
plot(x2, y2);
title('子图2');
xlabel('x');
ylabel('cos(x)');
grid on;
% 调整子图之间的间距
sgtitle('两个子图示例');
如果需要更灵活的子图布局,可以使用 tiledlayout:
% 假设 x1, x2, x3, x4, y1, y2, y3, y4 是已定义的向量
x1 = 1:10;
y1 = x1.^2;
x2 = 1:10;
y2 = sqrt(x2);
x3 = 1:10;
y3 = sin(x3);
x4 = 1:10;
y4 = cos(x4);
t = tiledlayout(2,2); % 创建一个2x2的布局
nexttile;
plot(x1, y1);
title('Plot of y1 vs x1'); % 添加标题
xlabel('x1'); % 添加 x 轴标签
ylabel('y1'); % 添加 y 轴标签
nexttile;
plot(x2, y2);
title('Plot of y2 vs x2');
xlabel('x2');
ylabel('y2');
nexttile;
plot(x3, y3);
title('Plot of y3 vs x3');
xlabel('x3');
ylabel('y3');
nexttile;
plot(x4, y4);
title('Plot of y4 vs x4');
xlabel('x4');
ylabel('y4');
% 设置整个布局的标题
title(t, 'Four Subplots');
3. 添加图例和注释
图例和注释是图表中不可或缺的部分。使用 legend 添加图例,使用 text 或 annotation 添加注释。
% 定义 x 向量,这里使用 0 到 10 之间等间距的 100 个点
x = linspace(0, 10, 100);
% 定义 y 向量,这里使用正弦函数生成
y = sin(x);
% 定义 z 向量,这里使用余弦函数生成
z = cos(x);
% 绘制第一条曲线,并设置显示名称为 '曲线1'
plot(x, y, 'DisplayName', '曲线1');
% 保持当前图形窗口,以便后续在同一窗口绘制其他曲线
hold on;
% 绘制第二条曲线,并设置显示名称为 '曲线2'
plot(x, z, 'DisplayName', '曲线2');
% 显示图例
legend('show');
% 在坐标(1,1)处添加文本注释,颜色为红色
text(1, 1, '关键点', 'Color', 'red');
% 添加箭头注释
% [0.5 0.6] 是箭头在 x 方向的相对位置,[0.5 0.6] 是箭头在 y 方向的相对位置
annotation('textarrow', [0.5 0.6], [0.5 0.6], 'String', '趋势');
% 设置图形的标题
title('示例曲线绘制');
% 设置 x 轴标签
xlabel('x');
% 设置 y 轴标签
ylabel('y');
% 显示网格线
grid on;
% 保持当前图形窗口打开
hold off;
4. 自定义坐标轴和刻度
MATLAB允许你自定义坐标轴的范围、刻度和标签,使图表更具可读性。
x = linspace(0,10,100);
y = sin(x);
plot(x, y);
xlabel('X轴');
ylabel('Y轴');
title('正弦函数');
xlim([0 10]); % 设置X轴范围
ylim([-1 1]); % 设置Y轴范围
xticks(0:2:10); % 设置X轴刻度
yticks(-1:0.5:1); % 设置Y轴刻度
grid on; % 显示网格线
5. 保存高质量图片
默认情况下,MATLAB保存的图片分辨率可能较低。通过设置 print 或 exportgraphics 的参数,可以保存高质量的图片。
% 保存为PNG格式,分辨率为300dpi
exportgraphics(gcf, 'figure.png', 'Resolution', 300);
% 保存为PDF格式,适合打印
print('figure.pdf', '-dpdf', '-bestfit');
6. 使用颜色地图(Colormap)
MATLAB提供了多种颜色地图,可以帮助你更好地展示三维数据或二维热图。
[X, Y] = meshgrid(-2:0.1:2);
Z = X .^2 + Y .^2;
contourf(X, Y, Z);
colormap('jet'); % 使用jet颜色地图
colorbar; % 显示颜色条
7. 自定义线型和颜色
MATLAB支持多种线型和颜色,通过组合可以使图表更加清晰。
% 定义 x 向量,使用 0 到 2*pi 之间等间距的 100 个点
x = linspace(0, 2*pi, 100);
% 定义 y1、y2 和 y3 向量
y1 = sin(x);
y2 = cos(x);
y3 = sin(2*x);
% 绘制第一条曲线,红色虚线,线宽为 2
plot(x, y1, 'r--', 'LineWidth', 2);
% 保持当前图形窗口,以便后续在同一窗口绘制其他曲线
hold on;
% 绘制第二条曲线,蓝色点线,线宽为 2
plot(x, y2, 'b:', 'LineWidth', 2);
% 再次保持当前图形窗口
hold on;
% 绘制第三条曲线,黑色实线,线宽为 2
plot(x, y3, 'k-', 'LineWidth', 2);
% 显示图例,标明各曲线代表的含义
legend('sin(x)', 'cos(x)', 'sin(2x)');
% 设置图形的标题
title('不同三角函数曲线');

% 设置 x 轴标签
xlabel('x');
% 设置 y 轴标签
ylabel('y');
% 显示网格线,方便查看数据点
grid on;
% 关闭图形保持模式
hold off;
8. 动态更新图表
使用 drawnow 可以在循环中实时更新图表,适合展示动态数据。
x = linspace(0, 10, 100);
figure;
for i = 1:length(x)
y = sin(x(i));
plot(x(i), y, 'ro');
hold on;
drawnow; % 实时更新图表
end
9. 使用 hold on 和 clf 管理图层
hold on 允许你在同一张图上叠加多个图形,而 clf 可以清除当前图形窗口的内容。
figure;
plot(x, y1);
hold on; % 保留当前图形
plot(x, y2);
hold off; % 关闭叠加模式
clf; % 清除当前图形窗口
10. 使用函数式绘图
MATLAB的 fplot 可以方便地绘制函数曲线,无需手动生成数据点。
fplot(@(x) sin(x), [0, 2*pi]); % 绘制sin(x)在[0, 2π]上的图像
通过掌握这些小技巧,你可以在MATLAB中绘制出更专业、更美观的图表。无论是科研论文、工程报告还是数据分析,这些技巧都能助你一臂之力。
热门推荐
新娘手捧花变干花,超详细教程!
新娘手捧花怎么选?这些细节你注意到了吗?
刀郎演唱会火爆背后:地域文化的独特魅力
刀郎演唱会爆火:草根逆袭的典范
解密《罗刹海市》:一首现象级歌曲的成功之道
女人进入更年期后身体总是疼痛?日常增加6类食物或可缓解
更年期怎么办?应对与保健策略
上海新晋网红机位大揭秘!
引达帕胺片+地平类降压药:联合控血压新趋势
最新研究:吲达帕胺联合氨氯地平治疗心血管疾病效果显著
秋冬打卡沙溪古镇:丹凤山和彝族风情村必游!
《去有风的地方》带火的沙溪古镇:一个充满历史韵味的白族古镇
《去有风的地方》带火的沙溪古镇:千年白族建筑与园林艺术的完美融合
大理出发,打卡最美古村:沙溪古镇两日游攻略
用DJI大疆拍出沙溪古镇最美瞬间!
医保“刷脸”支付,来了!
新媒体时代,戏曲艺术如何持续跨界和破圈?
著名戏剧理论家崔伟:感受中华传统文化魅力 传承与发展戏曲艺术
我国科学家发现青藏高原持续生长核心动力源来自“地幔风”
岩石圈地幔拆沉驱动高原隆升:藏北壳幔结构成像
赵露思新作《珠帘玉幕》定档,展现坚韧精神与艺术追求
赵露思:从抑郁症患者到康复者,我的4年心路历程
吲达帕胺 vs 氢氯噻嗪:降压药物如何选?
如何赡养岳父母:包括日常照顾、经济支持和精神关爱
秋冬护肝小妙招:柴胡舒肝丸来帮忙
柴胡舒肝丸:你的心理救星?
秦始皇治国智慧:对现代治安管理的启示
中医按摩:睛明穴+鱼腰穴,告别左眼眼皮下垂
眼部运动+眼霜,拯救左眼眼皮下垂!
抑郁症患者眼睑下垂怎么办?