使用 Matplotlib 绘制折线图
数据可视化是数据分析的重要组成部分,通过图表,我们可以更直观地理解数据背后的趋势和模式。Matplotlib 是 Python 最基础也是最常用的绘图库之一,非常适合初学者。本文将带你从零开始,逐步创建和自定义一个简单的折线图。
1. 安装和导入 Matplotlib
首先,你需要确保 Matplotlib 已安装。如果你还没有安装,可以使用以下命令进行安装:
pip install matplotlib
安装完成后,导入 Matplotlib 中的 pyplot
模块:
import matplotlib.pyplot as plt
2. 创建一个简单的折线图
我们从最基本的例子开始:绘制一个简单的折线图。假设我们有一组数据表示2024年暑期档电影总票房:
movies = ['抓娃娃', '默杀', '云边有个小卖部', '死侍与金刚狼']
sales = [276356, 131227, 49842, 35409]
现在,我们用 Matplotlib 绘制这组数据:
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.plot(movies, sales)
plt.title('Movies Sales')
plt.xlabel('Movie names')
plt.ylabel('Sales')
plt.show()
解释:
-
plt.rcParams['font.sans-serif'] = ['SimHei']
:用于设置中文字体 -
plt.plot()
:用于绘制折线图,传入的第一个参数为 X 轴数据,第二个参数为 Y 轴数据。 -
plt.title()
:设置图表的标题。 -
plt.xlabel()
和plt.ylabel()
:分别设置 X 轴和 Y 轴的标签。 -
plt.show()
:显示图表。
运行这段代码,你会看到一个简单的折线图,显示2024年暑期档电影总票房情况。
3. 自定义图表样式
为了让图表更具可读性和美观性,我们可以对图表进行一些自定义设置,比如改变线条的颜色、样式以及添加数据点标记。
3.1 改变线条颜色和样式
plt.plot(movies, sales, color='green', linestyle='--', marker='o')
plt.title('Movies Sales')
plt.xlabel('Movie names')
plt.ylabel('Sales')
plt.show()
解释:
-
color='green'
:将线条颜色设为绿色。 -
linestyle='--'
:将线条样式设为虚线。 -
marker='o'
:在每个数据点上添加圆形标记。图2
3.2 添加网格线和图例
plt.plot(movies, sales, color='blue', linestyle='--', marker='o', label='Sales Data')
plt.title('Monthly Sales')
plt.xlabel('Movie names')
plt.ylabel('Sales (Units)')
plt.grid(True) # 添加网格线
plt.legend() # 添加图例
plt.show()
解释:
-
plt.grid(True)
:启用图表网格线,方便查看数据点位置。 -
plt.legend()
:显示图例,使用label
参数中的内容。图3
4. 多条折线图
现在我们希望在同一张图表中比较各电影的总票房和人次情况。
sales_people = [6668,3182,1230,817]plt.plot(movies, sales, color='blue', marker='o', label='总票房')
plt.plot(movies, sales_people, color='red', marker='s', label='人次')
plt.title('Movie Sales Comparison')
plt.xlabel('Movie names')
plt.ylabel('Sales')
plt.grid(True)
plt.legend()
plt.show()
解释:
-
在同一个
plt.plot()
语句中调用两次,以绘制两条不同的折线。 -
marker='s'
:将人次数据的标记样式改为方形。图4
5. 保存图表
有时候,你可能需要将图表保存为图像文件而不是直接显示。你可以使用 plt.savefig()
方法:
sales_people = [6668,3182,1230,817]
plt.plot(movies, sales, color='blue', marker='o', label='总票房')
plt.plot(movies, sales_people, color='red', marker='s', label='人次')
plt.title('Movie Sales Comparison')
plt.xlabel('Movie names')
plt.ylabel('Sales')
plt.grid(True)
plt.legend()
plt.show()
plt.savefig('movie_sales.png') # 保存为 PNG 文件
解释:
plt.savefig('filename.png')
:保存图表为指定文件名的图片。支持多种格式,如 PNG、JPG、SVG 等。
6. 结论
通过本文,你已经学会了如何使用 Matplotlib 创建和自定义基本的折线图。虽然这只是 Matplotlib 的冰山一角,但这些基础足以帮助你开始在数据分析中使用 Python 进行数据可视化。
接下来,尝试使用不同的数据集来创建图表,看看效果如何?
- 使用数据集S1绘制简单折线图和多条折线图。
月份 | 销售量(2023年) | 销售量(2024年) |
---|---|---|
3月 | 300 | 250 |
4月 | 350 | 340 |
5月 | 200 | 230 |
“要想学会,必先受累,多练则乖,不练则呆”,完成后分享结果至评论区。
需要完整代码,请关注我,私信“movies_lines”即可获得。