📜  如何在 Matplotlib 中绘制时间序列?(1)

📅  最后修改于: 2023-12-03 14:52:26.789000             🧑  作者: Mango

如何在 Matplotlib 中绘制时间序列?

在数据可视化中,时间序列是一种常见的数据类型,其中数据点按照时间顺序进行排列。 在Matplotlib中,可以使用不同的方法来绘制时间序列数据的图表。

步骤一:准备数据

在开始之前,我们需要准备一组用于绘制时间序列数据的样本数据。例如,我们将使用下面的示例数据:

import pandas as pd
import numpy as np

# 生成示例数据
dates = pd.date_range('20210101', periods=100)
data = np.random.randn(100)
步骤二:创建图表

使用Matplotlib创建一个空的图表,可以通过以下代码片段来实现:

import matplotlib.pyplot as plt

# 创建一个空的图表
fig, ax = plt.subplots()
步骤三:绘制图表

在创建图表之后,我们可以开始绘制时间序列数据的图表。Matplotlib提供了几种绘制时间序列数据的方法,以下是其中的两种方法。

方法一:使用 plot_date() 函数

可以使用plot_date()函数将时间序列数据转换为matplotlib日期格式,并在图表中绘制。

# 绘制时间序列图表
ax.plot_date(dates, data, '-')

# 设置图表标题和标签
ax.set_title('时间序列数据图表')
ax.set_xlabel('日期')
ax.set_ylabel('数据')
方法二:使用 plot() 函数

除plot_date()函数外,也可以直接使用plot()函数来绘制时间序列数据的图表。这种方法需要将时间序列数据转换为matplotlib的浮点数格式。

# 将日期转换为matplotlib浮点数格式
float_dates = dates.map(lambda x: x.timestamp())

# 绘制时间序列图表
ax.plot(float_dates, data, '-')

# 设置图表标题和标签
ax.set_title('时间序列数据图表')
ax.set_xlabel('日期')
ax.set_ylabel('数据')
步骤四:显示图表

在完成时间序列数据图表的绘制后,我们需要使用以下代码来显示图表。

plt.show()

完整的代码示例:

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt

# 生成示例数据
dates = pd.date_range('20210101', periods=100)
data = np.random.randn(100)

# 创建一个空的图表
fig, ax = plt.subplots()

# 将日期转换为matplotlib浮点数格式
float_dates = dates.map(lambda x: x.timestamp())

# 绘制时间序列图表
ax.plot(float_dates, data, '-')

# 设置图表标题和标签
ax.set_title('时间序列数据图表')
ax.set_xlabel('日期')
ax.set_ylabel('数据')

# 显示图表
plt.show()

运行以上代码会显示一个时间序列图表,如下所示:

时间序列数据图表