【数据分析实战】使用 Matplotlib 绘制折线图

1、简述

在日常的数据分析、科研报告、项目可视化展示中,折线图是一种非常常见且直观的数据可视化方式。本文将带你快速上手 Matplotlib,并通过几个实际例子掌握折线图的绘制方法。

Matplotlib 是 Python 中最常用的数据可视化库之一,它能够生成高质量的 2D 图形,是数据分析和科学计算的好帮手。

在本文中我们使用其核心模块 pyplot 来绘制折线图。


2、环境准备

安装 matplotlib:

bash 复制代码
pip install matplotlib

导入所需库:

python 复制代码
import matplotlib.pyplot as plt

3、折线图基础示例

我们从一个最简单的例子开始。

python 复制代码
import matplotlib.pyplot as plt
import matplotlib

# 设置支持中文的字体
matplotlib.rcParams['font.sans-serif'] = ['SimHei']  # 黑体
matplotlib.rcParams['axes.unicode_minus'] = False  # 解决负号显示问题

# 数据
x = [1, 2, 3, 4, 5]
y = [10, 12, 8, 15, 18]

# 绘图
plt.plot(x, y)

# 添加标题和标签
plt.title("简单折线图")
plt.xlabel("X 轴")
plt.ylabel("Y 轴")

# 显示图形
plt.show()

运行后你会看到一个基础的折线图,展示了 y 值随着 x 的变化趋势。


4、折线图实战样例

下面我们列举几个常见的实战场景。

示例 1:添加多个折线并设置图例

python 复制代码
x = [1, 2, 3, 4, 5]
y1 = [10, 12, 8, 15, 18]
y2 = [5, 8, 6, 10, 12]

plt.plot(x, y1, label="产品 A", marker='o')
plt.plot(x, y2, label="产品 B", linestyle='--', marker='s')

plt.title("产品销售趋势")
plt.xlabel("月份")
plt.ylabel("销售量")
plt.legend()  # 显示图例
plt.grid(True)  # 显示网格
plt.show()

✅ 小技巧:通过 marker 添加点样式、通过 linestyle 设置线型,图例用 legend() 来启用。


示例 2:自定义颜色、线宽、字体

python 复制代码
x = [0, 1, 2, 3, 4]
y = [3, 5, 2, 8, 7]

plt.plot(x, y, color='purple', linewidth=2.5, marker='D')

plt.title("定制风格折线图", fontsize=16, fontweight='bold')
plt.xlabel("时间", fontsize=12)
plt.ylabel("值", fontsize=12)

plt.grid(True, linestyle='--', alpha=0.5)
plt.show()

示例 3:保存折线图为图片

python 复制代码
x = list(range(10))
y = [i**2 for i in x]

plt.plot(x, y)
plt.title("平方函数")
plt.savefig("line_chart.png", dpi=300)  # 保存为高清图片
plt.show()

示例 4:日期型折线图

使用 pandas 结合 matplotlib 可绘制时间序列折线图。

python 复制代码
import pandas as pd
import matplotlib.pyplot as plt

# 构造时间序列数据
dates = pd.date_range(start="2023-01-01", periods=7)
values = [10, 15, 13, 17, 20, 18, 25]

plt.plot(dates, values, marker='o')
plt.title("一周访问量趋势")
plt.xlabel("日期")
plt.ylabel("访问量")
plt.xticks(rotation=45)  # 旋转日期标签
plt.tight_layout()
plt.grid(True)
plt.show()

5、小结

Matplotlib 的折线图功能非常强大,通过简单的调用即可完成基础图形绘制,而通过进一步配置样式、图例、标签、保存图片等功能,可以制作出专业感十足的图表。

推荐实践:

  • 将业务数据转化为图形报告
  • 实现监控系统的数据可视化界面
  • 利用 matplotlib + pandas 可视化时间序列趋势

如果你希望对图形交互、动画、嵌入网页等进一步学习,建议结合 PlotlySeaborn 等库深入研究。需要我帮你把这篇整理成 Markdown 博客形式或是加个目录、封面图吗?

相关推荐
GIS开发特训营7 小时前
【智慧城市】2025年中国地质大学(武汉)暑期实训优秀作品(2):智慧城市西安与一带一路
人工智能·信息可视化·智慧城市
大翻哥哥8 小时前
Python地理空间数据分析:从地图绘制到智能城市应用
开发语言·python·数据分析
用户Taobaoapi201414 小时前
淘宝店铺所有商品详情API技术文档
大数据·数据挖掘·数据分析
WSSWWWSSW1 天前
Seaborn数据可视化实战:Seaborn数据可视化实战入门
python·信息可视化·数据挖掘·数据分析·matplotlib·seaborn
Highcharts.js2 天前
Highcharts Stock :打造专业级金融图表的利器
信息可视化·金融·数据分析
smilejingwei2 天前
数据分析编程第五步:数据准备与整理
大数据·开发语言·数据分析·esprocspl
fanstuck2 天前
2014-2024高教社杯全国大学生数学建模竞赛赛题汇总预览分析
大数据·人工智能·数学建模·数据挖掘·数据分析
SelectDB2 天前
Apache Doris 登顶 RTABench —— 实时分析领域的性能王者
数据库·数据分析·开源
MaxHua2 天前
SQL查询优化全指南:从语句到架构的系统性优化策略
后端·数据分析
云端设计台2 天前
2025流程图模板和工具深度评测:AI如何提升绘图效率80%?
人工智能·信息可视化·流程图·图表制作·图表工具