将趋势线添加到matplotlib线图python

时间:2019-01-22 12:18:05

标签: python pandas matplotlib

很抱歉,如果已经有人问过我,但我找不到任何答案。我想在plt图上添加一条总体趋势线。样本数据:

import pandas as pd
data = pd.DataFrame({'year': [2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018, 
                              2019],
                     'value': [2, 5, 8, 4, 1, 6, 10, 14, 8]})

import matplotlib.pyplot as plt
plt.rcParams['figure.figsize'] = [28, 26]
data.plot(x = "year", y = "value", fontsize = 30)
plt.xlabel('Time', fontsize = 30)

enter image description here

如何添加趋势线?

1 个答案:

答案 0 :(得分:3)

如果您正在寻找简单的线性回归拟合,则可以直接使用seaborn中的lmplotregplot。它执行线性回归并以95%置信区间(阴影,默认值)绘制拟合(线)。您也可以使用NumPy执行拟合。如果您想使用NumPy,请在下面发表评论,我会进行更新。

import seaborn as sns

# Your DataFrame here 

# sns.lmplot(x='year',y='value',data=data,fit_reg=True) 

sns.regplot(x='year',y='value',data=data, fit_reg=True) 

enter image description here

从文档

  

regplot()和lmplot()函数密切相关,但是前者是轴级函数,而后者是结合regplot()和FacetGrid的图形级函数,允许您绘制网格中不同子图上的数据之间的条件关系。