日期演示转换

Beginner

This tutorial is from open-source community. Access the source code

简介

Matplotlib 是一个在 Python 中广泛使用的数据可视化库。它能够创建各种类型的图形和图表,如折线图、柱状图、散点图等等。在本教程中,我们将指导你使用 Matplotlib 创建一个日期演示转换图的过程。

虚拟机提示

虚拟机启动完成后,点击左上角切换到“笔记本”标签,以访问 Jupyter Notebook 进行练习。

有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。

如果你在学习过程中遇到问题,随时向 Labby 提问。课程结束后提供反馈,我们会立即为你解决问题。

导入必要的库

在开始创建图表之前,我们需要导入所需的库,即 Matplotlib、NumPy 和 datetime。复制并粘贴以下代码:

import datetime
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.dates import DateFormatter, DayLocator, HourLocator, drange

定义日期和时间间隔

接下来,我们将使用 datetime 库定义日期和时间间隔值。日期范围是从 2000 年 3 月 2 日到 2000 年 3 月 6 日,时间间隔为 6 小时。复制并粘贴以下代码:

date1 = datetime.datetime(2000, 3, 2)
date2 = datetime.datetime(2000, 3, 6)
delta = datetime.timedelta(hours=6)
dates = drange(date1, date2, delta)

定义 y 值

定义日期范围后,我们将使用 NumPy 的 arange 函数创建 y 值。y 值的长度将与日期数量相同。复制并粘贴以下代码:

y = np.arange(len(dates))

创建图表

现在,我们可以使用日期和 y 值来创建图表。我们将首先使用 subplots 函数创建一个图形和轴对象。然后,我们将使用 plot 函数绘制图表。复制并粘贴以下代码:

fig, ax = plt.subplots()
ax.plot(dates, y**2, 'o')

设置 x 轴并格式化日期

为了使图表更具可读性,我们将把 x 轴的范围设置为该范围内的第一个和最后一个日期。我们还将分别把主定位器和次定位器设置为 DayLocator 和 HourLocator。最后,我们将使用 DateFormatter 函数来格式化日期。复制并粘贴以下代码:

ax.set_xlim(dates[0], dates[-1])
ax.xaxis.set_major_locator(DayLocator())
ax.xaxis.set_minor_locator(HourLocator(range(0, 25, 6)))
ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
ax.fmt_xdata = DateFormatter('%Y-%m-%d %H:%M:%S')

旋转 x 轴标签

默认情况下,x 轴标签是水平方向的。我们可以将标签旋转为对角方向,使其更具可读性。复制并粘贴以下代码:

fig.autofmt_xdate()

显示图表

最后,我们可以使用 show 函数来显示图表。复制并粘贴以下代码:

plt.show()

总结

在本教程中,我们学习了如何使用 Matplotlib 创建一个日期演示转换图表。我们涵盖了导入必要的库、定义日期和 y 值、创建图表、格式化 x 轴以及显示图表。有了这些知识,你就可以开始使用 Matplotlib 创建自己的自定义图表了。