您的位置:首页 > 游戏 > 手游 > 使用 Matplotlib 绘制折线图

使用 Matplotlib 绘制折线图

2024/12/23 7:13:34 来源:https://blog.csdn.net/qq_39889473/article/details/141066972  浏览:    关键词:使用 Matplotlib 绘制折线图

使用 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年暑期档电影总票房情况。

在这里插入图片描述

图1 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 = [666831821230817]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 = [666831821230817]
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月300250
4月350340
5月200230

“要想学会,必先受累,多练则乖,不练则呆”,完成后分享结果至评论区。

需要完整代码,请关注我,私信“movies_lines”即可获得。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com