如何向该数据框添加趋势线Python

问题描述

我想知道如何在条形图中添加趋势线(或最佳拟合线)。我尝试搜索,但发现自己很困惑。这是我用来创建条形图的代码

    dfY = pd.DataFrame(data={"Year":dataYVote['Year'],"Vote": dataYVote['Vote']})
    year_list = []
    avg_Votes = []
    for year in np.unique(dfY["Year"]):
        year_list.append(year)
        avg_Votes.append(dfY.loc[dfY["Year"]==year,"Vote"].mean())
    
    plt.bar(year_list,avg_Votes,width = 0.5)
    plt.xlabel('Year')
    plt.ylabel('Amount of Votes')
    plt.title('Average Amount of Votes for Each Year')
    plt.show() 

非常感谢您的帮助:)

解决方法

您可以使用numpy.polyfit来使平方误差最小,并返回梯度和截距。

import numpy as np

slope,intercept = np.polyfit(x_data,y_data,1) #deg of 1 for straight line
plt.plot(x,slope*x + intercept)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...