3.2 日期型时间序列图

一般而言,我们绘制时间序列图都是将日期类型的数据放在x轴上进行展示,将对应日期下的数据放在 y 轴上进行展示的。因此,对于 matplotlib 库来讲,日期型时间序列图的绘制既可以调用模块pyplot的API函数plot_date(),也可以调用实例方法plot_date()。

下面,我们就介绍使用实例方法plot_date()绘制日期型时间序列图的实现方法。

1.代码实现

2.运行结果(见图3-2)

图3-2

3.代码精讲

因为我们需要绘制日期型时间序列图,所以我们导入内置模块 datetime 和 matplotlib 中的模块dates。

(1)调用“mdates.MonthLocator()”语句,获得日期刻度定位器中的类MonthLocator的Locator实例,赋值给变量months。

(2)调用“mdates.DateFormatter("%m/%d/%y")”语句,返回值是日期刻度格式器里的类DateFormatter的Formatter实例,传给变量dateFmt。

(3)分别调用“ax.xaxis.set_major_formatter(dateFmt)”和“ax.xaxis.set_minor_locator(months)”语句,设置主刻度线的刻度标签的样式和次要刻度线的位置。

(4)调用“ax.tick_params(axis="both",direction="out",labelsize=10)”语句,设置刻度线相对轴脊的内外位置和刻度标签的大小。

(5)调用函数 drange(),返回值是按照起止日期和日期间隔参数计算的日期范围数组,其中,开始日期date1和结束日期date2都是类date的实例,日期间隔delta是类timedelta的实例。

(6)调用实例方法plot_date()绘制日期型时间序列折线图,其中的参数含义如下。

● dates:如果参数xdate的取值是True,dates就被理解成matplotlib的日期。

● y:对应dates的y轴数值。

● "b-":折线图的线条样式和颜色。

● xdate:参数xdate的默认取值是True,x轴会被理解成matplotlib的日期。

● alpha:设置线条的颜色透明度。

(7)在“代码实现”的最后部分,调用实例方法 autofmt_xdate()完成调整底部子区 x 轴的刻度标签的旋转角度和子区边缘距离画布底端的距离等任务。