下面是详细讲解“python matplotlib 画dataframe的时间序列图实例”的完整攻略:
1. 准备工作
首先,需要安装matplotlib和pandas两个库,可以使用pip进行安装:
pip install matplotlib pandas
同时,还需要准备一个时间序列的数据集(比如股票价格、气象数据等)来进行绘图。这里我们以一个包含两列数据(日期和股票价格)的csv文件为例。
2. 导入数据
使用pandas库中的read_csv()函数,读取csv文件并转换成DataFrame对象。同时,指定日期列的数据类型为datetime。
import pandas as pd
# 读取csv文件,并将日期列转换成datetime类型
df = pd.read_csv('data.csv', parse_dates=['date'], index_col='date')
3. 绘制时间序列图
使用matplotlib库中的plot()函数,绘制时间序列图。其中x轴为时间(日期),y轴为股票价格。
import matplotlib.pyplot as plt
# 绘制时间序列图
plt.plot(df.index, df['price'])
# 显示图例
plt.legend(['stock price'], loc='upper left')
# 显示图形
plt.show()
4. 时间序列图的美化
为了让时间序列图更加美观,可以进行以下的美化操作:
- 设置x轴和y轴标签:使用xlabel()和ylabel()函数。
plt.xlabel('Date')
plt.ylabel('Stock Price')
- 增加标题:使用title()函数。
plt.title('Stock Price')
- 修改x轴刻度标签:使用xticks()函数。这里以每月的第一天作为刻度标签。
plt.xticks(df.resample('MS').first().index, rotation=90)
- 增加网格线:使用grid()函数。
plt.grid(True)
5. 完整代码示例
下面是完整的代码示例:
import pandas as pd
import matplotlib.pyplot as plt
# 读取csv文件,并将日期列转换成datetime类型
df = pd.read_csv('data.csv', parse_dates=['date'], index_col='date')
# 绘制时间序列图
plt.plot(df.index, df['price'])
# 设置x轴和y轴标签
plt.xlabel('Date')
plt.ylabel('Stock Price')
# 增加标题
plt.title('Stock Price')
# 修改x轴刻度标签
plt.xticks(df.resample('MS').first().index, rotation=90)
# 增加网格线
plt.grid(True)
# 显示图例
plt.legend(['stock price'], loc='upper left')
# 显示图形
plt.show()
以上就是“python matplotlib 画dataframe的时间序列图实例”的完整攻略。需要注意的是,绘制时间序列图时,需要将时间列作为DataFrame对象的index,才能正确的显示时间轴。同时,pandas和matplotlib两个库都有非常丰富的功能,读者可以自行尝试各种不同的操作和绘图方式。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python matplotlib 画dataframe的时间序列图实例 - Python技术站