首页 > 解决方案 > 在 python 中为时间序列图添加趋势线

问题描述

我想在python中为时间序列图添加趋势线,这意味着我的x轴(基准)的格式为datetime64[ns],当我关注这个线程时:如何在python matplotlib点(散点图)图中添加趋势线?

并运行我的代码:

import numpy as np
#Trendlines
z = np.polyfit(df1['Datum'], df1['Score'], 1)
p = np.poly1d(z)

我得到错误:

UFuncTypeError: ufunc 'add' 不能使用类型为 dtype('

我该如何解决这个问题?这个线程也没有帮助

标签: pythonnumpytime-series

解决方案


解决方法是:

import matplotlib.pyplot as plt
import matplotlib.dates as mdates
x = mdates.date2num(df1['Datum'])
y= df1['Score']
z = np.polyfit(x, df1['Score'], 1)
p = np.poly1d(z)
#then the plot
df1.plot('Datum', 'Score')
plt.plot(x, p(x), "r--")

用线图和趋势线给出结果


推荐阅读