📅  最后修改于: 2023-12-03 14:52:26.789000             🧑  作者: Mango
在数据可视化中,时间序列是一种常见的数据类型,其中数据点按照时间顺序进行排列。 在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()函数将时间序列数据转换为matplotlib日期格式,并在图表中绘制。
# 绘制时间序列图表
ax.plot_date(dates, data, '-')
# 设置图表标题和标签
ax.set_title('时间序列数据图表')
ax.set_xlabel('日期')
ax.set_ylabel('数据')
除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()
运行以上代码会显示一个时间序列图表,如下所示: