python - 如何向此数据框添加趋势线(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
最小化平方误差并返回梯度和截距的 a。
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)
推荐阅读
- neo4j - 将一个节点连接到多个 Neo4j
- google-apps-script - 如何使用 Apps 脚本从 Google 幻灯片演示文稿中的表格中删除空列
- excel - 如何将 Excel 单元格值转换为单独的 PNG 文件?
- javascript - 从 draco 解码点云时的颜色问题
- python - 如何将多维列表中的元素附加到第二个多维列表中
- python - pymongo:迭代聚合结果时遇到问题
- typescript - Office 脚本(打字稿)中的问题编辑单元格
- python - 无法将此 python 代码转换为 .exe 文件
- javascript - 在 Nuxtjs 的视口中如何平滑地扩展视频容器
- powershell - 找不到Powershell位置参数