MATLAB制作折线图:从入门到精通(上)

一、什么是折线图

折线图是一种用折线将数据点连接起来的统计图表,通常用于显示数据随时间或某个变量的变化趋势。它的特点是:

  • X轴表示独立变量(如时间、序号等);

  • Y轴表示对应的数值;

  • 各数据点通过线段连接,形状像"折线"。

二、折线图常见类型

1. 单线折线图:最基础、最常用

单线折线图的适用场景

当你有一组连续数据,想要看它随时间或某个变量的变化趋势时,单线折线图是最直接的选择。例如:

  • 某产品一年的销量变化;

  • 一个人体重的月度变化。

举个例子:

你想看看自己体重在过去一年中有没有变化?就可以用折线图来画出来,X轴是月份,Y轴是体重,把每个月的数值连接起来。如果体重总体是往下的,那就说明:你瘦了!

适用场景总结

  • 展示单变量的变化趋势

  • 分析时间序列数据

  • 直观显示某指标的上升或下降

2. 多线折线图:对比趋势的利器

多线折线图的适用场景

当你有多组数据,并且希望放在同一个图里进行对比(比如两家公司同时期的股价),就用多线折线图。不同的数据线用不同颜色或样式区分,方便一眼比较。

举个例子:

你想比较两家公司的股票价格走势,就用多线折线图。X轴是日期,Y轴是股票价格,两条不同颜色的线,一眼看出:谁涨得快,谁跌得猛。

适用场景总结

  • 多组数据的趋势对比

  • 强调不同数据集在同一时间轴上的变化

  • 可视化多个实验或项目的数据变化

3. 带标记的折线图:更清晰的数据展示

带标记折线图的适用场景

有时候,光是折线还不够直观,你还想看到每一个数据点的位置,这时候就加上标记。这种图既能看趋势,也能看细节。

举个例子:

你记录了10次跑步成绩,想看每一次的速度,还想看到具体的点,就用这种图。每个点都清楚显示成绩,线条把它们连起来,一眼看出:哪次进步,哪次退步。

适用场景总结

  • 既要看趋势又要看具体数据点

  • 数据点之间的差异很重要时

  • 想让数据展示更醒目

你手上有什么数据? 用哪种折线图?
一组数据(例:某产品月销量) 单线折线图
多组数据(例:两家公司的股价走势) 多线折线图
一组数据,且需要清楚标出每个点(例:10次跑步成绩) 带标记的折线图
[### 三种类型折线图总结]

三、实现绘图前的数据检查

折线图类型 特别准备事项
单线折线图 确保X轴和Y轴数据都是数值型,且长度一致
多线折线图 每组数据的X轴和Y轴都应为数值型,数据组数相同或对齐
带标记的折线图 数据需为数值型,并检查标记样式是否对应(如点的形状/颜色)
[### 针对三种类型的折线图数据需求]

四、MATLAB绘制相应折现图

1. 单线折线图绘制

只要有一组数值数据,比如"月份"和"销量",用基础的 plot() 函数就能搞定。

以下是相关代码实现:

Matlab 复制代码
% 读取数据
data = readtable('折线图制作.xlsx', 'sheet', 'Sheet1', 'VariableNamingRule', 'preserve');
x = 1:12;
y = data.('销量');
% 构建白色背景
figure('Color', 'w');
% 绘制折线图
plot(x, y, '-o', ...
    'LineWidth', 2, ...
    'MarkerSize', 8, ...
    'Color', [0.1, 0.4, 0.8], ...
    'MarkerEdgeColor', [0 0.2 0.6], ...
    'MarkerFaceColor', [0.6 0.8 1]);
% 设置字体和大小
fontSet = {'FontName','宋体','FontSize',11};
% 标题和标签
title('产品月销量趋势', fontSet{:});
xlabel('月份', fontSet{:});
ylabel('销量', fontSet{:});
% X轴刻度与标签
xticks(1:12);
xticklabels(data.('月份'));
xtickangle(45); 
% 坐标轴样式
set(gca, ...
    'FontName','宋体', ...
    'FontSize',11, ...
    'LineWidth', 1.2, ...
    'Box', 'off', ...
    'GridLineStyle', '--', ...
    'XGrid', 'on', ...
    'YGrid', 'on');
% 图例
legend('月销量', 'Location', 'northwest', fontSet{:});

折线图实现:

2. 多线折线图绘制

如果你有两组或多组数据,例如"产品A"和"产品B"的销量数据,可以使用 plot() 函数绘制多条线条,便于趋势对比。

以下是相关代码实现:

Matlab 复制代码
% 读取数据并保护中文列名
data = readtable('多线折线图.xlsx', 'sheet', 'Sheet1', 'VariableNamingRule', 'preserve');
% 提取数据
x = 1:12;
y1 = data.('产品A');
y2 = data.('产品B');
%制作白色背景
figure('Color', 'w');
% 绘制两条线
plot(x, y1, '-o', ...
    'LineWidth', 2, ...
    'MarkerSize', 7, ...
    'Color', [0.1, 0.5, 0.8], ...
    'MarkerFaceColor', [0.5, 0.8, 1]);  
hold on;
plot(x, y2, '-s', ...
    'LineWidth', 2, ...
    'MarkerSize', 7, ...
    'Color', [0.9, 0.3, 0.3], ...
    'MarkerFaceColor', [1, 0.6, 0.6]);
% 设置字体为宋体
fontSet = {'FontName','宋体','FontSize',11};
% 设置标题和标签
title('产品A 与 产品B 月销量对比', fontSet{:});
xlabel('月份', fontSet{:});
ylabel('销量', fontSet{:});
% X轴刻度与标签
xticks(1:12);
xticklabels(data.('月份'));
xtickangle(45);
% 坐标轴样式
set(gca, ...
    'FontName','宋体', ...
    'FontSize',11, ...
    'LineWidth', 1.2, ...
    'Box', 'off', ...
    'XGrid', 'on', ...
    'YGrid', 'on', ...
    'GridLineStyle', '--');
% 图例
legend({'产品A', '产品B'}, 'Location', 'northwest', fontSet{:});

折线图实现:

3. 带标记的折线图绘制

如果你希望在每一个数据点上显示出明显的"标记符号"(如圆点、星号、方块),可以通过 plot() 函数的线型参数来设置,便于突出每个数值的位置。

以下是相关代码实现:

Matlab 复制代码
% 读取数据并保护中文列名
data = readtable('折线图制作.xlsx', 'sheet', 'Sheet1', 'VariableNamingRule', 'preserve');
% 提取数据
x = 1:12;
y = data.('销量');
% 设置中文字体
fontSet = {'FontName','SimSun','FontSize',11};
% 创建白色背景图
figure('Color', 'w');
% 使用带星号的线型 '-*',设置新配色
plot(x, y, '-*', ...
    'LineWidth', 2, ...
    'MarkerSize', 8, ...
    'Color', [0.3, 0.3, 0.8], ...
    'MarkerFaceColor', [0.7, 0.7, 1.0]);
% 设置X轴标签
xticks(1:12);
xticklabels(data.('月份'));
xtickangle(45);
% 标题和标签
title('产品销量走势(含标记)', fontSet{:});
xlabel('月份', fontSet{:});
ylabel('销量', fontSet{:});
% 坐标轴样式
set(gca, ...
    'FontName','SimSun', ...
    'FontSize',11, ...
    'LineWidth', 1.2, ...
    'Box', 'off', ...
    'XGrid', 'on', ...
    'YGrid', 'on', ...
    'GridLineStyle', '--');
% 图例
legend('月销量', 'Location', 'northwest', fontSet{:});

折线图实现:

本博客介绍了如何在 MATLAB 中绘制基础与进阶的折线图,包括多条数据线的绘制、标记样式设置、配色优化等关键技巧。通过合理设置参数,你可以快速实现清晰、专业的数据可视化图表。

在下一篇中,我们将深入探索更高阶的折线图绘制,帮助你进一步提升图表表现力与美观度。

相关推荐
mozun20204 分钟前
QT:qt5调用打开exe程序并获取调用按钮控件实例2025.5.7
开发语言·数据库·qt·测试用例·控件·外部调用
末央&29 分钟前
【数据结构】手撕二叉搜索树
开发语言·数据结构·c++
一个天蝎座 白勺 程序猿30 分钟前
Python爬虫(20)Python爬虫数据存储技巧:二进制格式(Pickle/Parquet)性能优化实战
开发语言·爬虫·python
珹洺37 分钟前
C++从入门到实战(十二)详细讲解C++如何实现内存管理
c语言·开发语言·数据结构·c++
iuyou️1 小时前
Java泛型
java·开发语言·javase·范型
是垚不是土1 小时前
Go语言中的并发编程--详细讲解
java·运维·开发语言·算法·golang·运维开发
muyouking111 小时前
Rust 中 Arc 的深度分析:从原理到性能优化实践
开发语言·性能优化·rust
星夜9821 小时前
C++回顾 Day4
开发语言·数据结构·c++
一个会的不多的人1 小时前
C# NX二次开发:投影曲线和偏置曲线UFUN函数详解
java·开发语言·前端·c#
A旧城以西2 小时前
MySQL----数据库的操作
java·开发语言·数据库·sql·学习·mysql