主页 > 开源代码  > 

Matplotlib中strpdate2num()函数报错的解决方法

Matplotlib中strpdate2num()函数报错的解决方法

在Matplotlib绘图时,有时会从文件中读取形如“2025/2/20”格式的日期数据,在读取了日期数据后,会通过Matplotlib.dates.strpdate2num()函数将日期格式变为浮点数进行绘制。

1 matplotlib.dates不再支持strpdate2num()函数

使用matplotlib.dates.strpdate2num()函数处理日期数据的代码如图1所示。

图1 使用matplotlib.dates.strpdate2num()函数处理日期数据的代码

运行以上代码后,程序报错信息如图2所示。

图2 程序报错信息

报错信息为“matplotlib.dates”模块不包含strpdate2num()函数。

2 解决方法

使用“matplotlib.dates”模块中的data2num()函数进行转换,由于该函数的参数是datetime.datetime类型,因此首先要将“2025/2/20”格式的日期数据转换为datetime.datetime类型。

2.1 将日期字符串转换为datetime.datetime类型

使用图3所示代码,可以将日期字符串转换为datetime.datetime类型。

图3 日期字符串转换为datetime.datetime类型的代码

datetime.datetime.strptime()函数的第一个参数表示要转换的日期字符串,第二个参数表示日期的格式,%Y表示年,%m表示月份,%d表示日。该函数的返回值是datetime.datetime类型,保存在变量date1中。、

注意1 导入模块的代码如图4所示。

图4 导入模块的代码

2.2 将datetime.datetime类型转换为浮点型

通过“matplotlib.dates”模块中的data2num()函数将datetime.datetime类型转换为浮点型的代码如图5所示。

图5 将datetime.datetime类型转换为浮点型的代码

data2num()函数的参数是图3得到的datetime.datetime类型的日期,返回值是该日期距离1970-01-01 00:00:00的天数。

标签:

Matplotlib中strpdate2num()函数报错的解决方法由讯客互联开源代码栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Matplotlib中strpdate2num()函数报错的解决方法