首页 > 编程知识 正文

Python按照日期画折线图

时间:2023-11-20 19:14:31 阅读:291732 作者:XLRK

本文将为您详细介绍如何使用Python按照日期(时间)来画折线图。

一、准备工作

首先,我们需要安装Matplotlib包,该包提供了各种绘图函数,包括折线图、柱形图、散点图等等。可以使用以下命令安装:

pip install matplotlib

如果您使用的是Anaconda等科学计算环境,则已经默认安装了Matplotlib。

二、绘制折线图

1、导入模块

在使用Matplotlib之前,需要导入该模块。

import matplotlib.pyplot as plt

2、准备数据

在绘制折线图之前,我们需要准备相应的数据。假设我们要绘制一张每日销售额的折线图,数据如下:

date = ['20210101', '20210102', '20210103', '20210104', '20210105', '20210106', '20210107']
sales = [100, 50, 200, 180, 300, 280, 150]

其中,date为日期字符串,sales为每日销售额。

3、转换日期格式

虽然我们已经有了日期字符串,但是Matplotlib默认无法处理该格式。因此,我们需要将日期字符串转换为可以处理的日期格式。

from datetime import datetime
date = [datetime.strptime(d, '%Y%m%d').date() for d in date]

上述代码中,我们使用datetime模块中的strptime函数将日期字符串转换为日期类型,并且使用date()函数提取日期。

4、绘制折线图

现在,我们终于可以绘制折线图了。使用以下代码即可:

plt.plot(date, sales)
plt.show()

运行上述代码,即可看到绘制好的折线图。

三、优化图像

虽然我们已经成功绘制出折线图,但是这张图还有很多需要优化的地方。

1、添加标题和标签

一张好的图像应该具有标题和标签,以方便观赏者理解。我们可以使用以下代码来添加标题和标签:

plt.title('Daily Sales in January 2021')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.plot(date, sales)
plt.show()

在上述代码中,我们使用title函数添加标题,使用xlabel和ylabel函数添加X轴和Y轴标签。

2、调整坐标轴范围

有时候,我们需要调整坐标轴的范围,以便更好地展示数据。例如,如果销售额的最大值为500,则我们可以将Y轴的范围设置为0-600,以便更好地展示数据。

plt.title('Daily Sales in January 2021')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.ylim([0, 600])
plt.plot(date, sales)
plt.show()

在上述代码中,我们使用ylim函数调整Y轴的范围。

3、调整日期显示格式

在默认情况下,Matplotlib会自动选择最佳的日期格式,并自动旋转X轴标签以避免重叠。但是如果我们希望使用特定的日期格式,则可以使用以下代码:

import matplotlib.dates as mdates
plt.title('Daily Sales in January 2021')
plt.xlabel('Date')
plt.ylabel('Sales')
plt.ylim([0, 600])
plt.plot(date, sales)
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%m/%d'))
plt.gcf().autofmt_xdate()
plt.show()

在上述代码中,我们首先导入了matplotlib.dates模块,然后使用DateFormatter函数设置日期格式,并使用gca函数获取当前图形的Axes对象。最后,使用autofmt_xdate函数自动旋转X轴标签。

四、总结

本文为您介绍了如何使用Python按照日期(时间)来画折线图。我们首先导入Matplotlib模块,并准备好相应的数据。然后,我们需要将日期字符串转换为可以处理的日期格式,并绘制出折线图。最后,我们对图像进行了优化,添加了标题、标签,并调整了坐标轴范围,同时调整了日期显示格式。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。