1. Matlab折线图基础绘制从零开始第一次用Matlab画折线图的时候我被它简洁的语法震惊了。只需要几行代码就能把枯燥的数据变成直观的图形。对于数据分析师和科研人员来说这简直是神器。让我们从一个最简单的例子开始x 1:10; % x轴数据 y rand(1,10); % 随机生成y轴数据 plot(x, y); % 绘制折线图这三行代码就完成了一个基础折线图的绘制。但实际工作中我们的需求往往更复杂。比如需要同时展示多组数据对比x 1:0.5:5; data1 [2.1, 3.5, 4.2, 5.0, 6.1, 7.3, 8.2, 9.1]; data2 [1.9, 2.8, 3.9, 4.8, 5.9, 6.7, 7.8, 8.7]; data3 [2.3, 3.2, 4.1, 5.2, 6.0, 7.1, 8.0, 9.3]; figure % 新建图形窗口 plot(x, data1, x, data2, x, data3); title(三组实验数据对比); xlabel(时间(s)); ylabel(温度(℃)); legend(实验组1,实验组2,实验组3);这里有几个实用技巧使用figure命令可以避免新图覆盖旧图title、xlabel、ylabel分别设置标题和坐标轴标签legend添加图例顺序与plot中的数据集对应2. 线条样式的高级定制基础绘图掌握后我们来看看如何让图表更专业。Matlab提供了丰富的线条定制选项包括线型、颜色和标记样式。2.1 线型与颜色组合Matlab支持多种预设样式组合格式为线型标记颜色x linspace(0, 2*pi, 50); y1 sin(x); y2 cos(x); plot(x, y1, --ro,... % 红色虚线圆圈标记 LineWidth, 1.5,... MarkerSize, 8,... MarkerFaceColor, r); hold on; % 保持当前图形 plot(x, y2, :bs,... % 蓝色点线方形标记 LineWidth, 2,... MarkerSize, 10,... MarkerFaceColor, b); hold off;常用线型有-实线默认--虚线:点线-.点划线颜色代码r红色g绿色b蓝色k黑色m品红c青色y黄色2.2 自定义颜色和线宽如果需要更精确的颜色控制可以使用RGB三元组plot(x, y1,... Color, [0.2 0.6 0.8],... % RGB值范围0-1 LineWidth, 3,... % 线宽 LineStyle, -.);对于学术图表我建议线宽设置在1.5-2.5之间使用高对比度但不过于鲜艳的颜色组合不同线条要有明显区分的样式3. 坐标轴和图例的精细调整3.1 坐标轴定制默认的坐标轴设置往往不能满足专业需求Matlab提供了全面的控制选项x 0:0.1:10; y exp(-x).*sin(2*pi*x); plot(x, y); axis([0 10 -1 1]); % 设置坐标范围[xmin xmax ymin ymax] set(gca, XTick, 0:2:10); % x轴刻度 set(gca, YTick, -1:0.5:1); % y轴刻度 set(gca, XGrid, on); % 开启x轴网格 set(gca, YGrid, on); % 开启y轴网格 set(gca, FontSize, 12); % 设置字体大小 xlabel(时间(s), FontSize, 14); ylabel(振幅, FontSize, 14);3.2 专业级图例设置图例的位置和样式对图表可读性影响很大legend(实验数据,... Location, northeastoutside,... % 放在图外右上角 FontSize, 12,... Box, off); % 去掉边框常用位置参数north顶部居中south底部居中east右侧居中west左侧居中northeast右上角默认northwest左上角southeast右下角southwest左下角4. 多图叠加与子图绘制4.1 使用hold叠加图形hold on命令可以实现在同一坐标系中绘制多个图形x 0:0.1:2*pi; y1 sin(x); y2 cos(x); y3 sin(x).*cos(x); figure plot(x, y1, r-, LineWidth, 2); hold on; plot(x, y2, b--, LineWidth, 2); plot(x, y3, k:, LineWidth, 2); hold off; legend(sin(x), cos(x), sin(x)*cos(x)); title(三角函数曲线对比);4.2 子图(subplot)绘制当需要并排显示多个相关图表时subplot是更好的选择x linspace(0, 2*pi, 100); figure subplot(2, 2, 1); % 2行2列第1个位置 plot(x, sin(x)); title(sin(x)); subplot(2, 2, 2); % 第2个位置 plot(x, cos(x)); title(cos(x)); subplot(2, 2, 3); % 第3个位置 plot(x, tan(x)); title(tan(x)); ylim([-10 10]); % 限制y轴范围 subplot(2, 2, 4); % 第4个位置 plot(x, sin(x).*cos(x)); title(sin(x)*cos(x));5. 导出高质量图表绘制好的图表通常需要导出为图片用于报告或论文。Matlab提供了多种导出选项figure plot(x, y); set(gcf, Position, [100 100 800 600]); % 设置图形大小[左 下 宽 高] set(gcf, Color, w); % 设置背景为白色 % 导出为PNG print(-dpng, -r300, myplot.png); % 300dpi分辨率 % 导出为PDF矢量图 print(-dpdf, -painters, myplot.pdf); % 导出为TIFF适合论文投稿 print(-dtiff, -r600, myplot.tif);对于学术用途我推荐使用矢量图格式PDF/EPS用于投稿分辨率至少300dpi图形大小设置为8-10cm宽单栏或15-18cm宽双栏字体大小不小于8pt