matplotlib 如何为从Excel导入的数据集绘制趋势线?

stszievb  于 2022-11-15  发布在  其他
关注(0)|答案(2)|浏览(143)

我一直在尝试绘制一个趋势线,这个趋势线是我在Pandas的帮助下从Excel导入的161个平均温度值的数据集。但是我无法为这个数据集创建趋势线。我已经在YouTube和其他网站上学习了教程,但是它不起作用。无论我做什么都没有得到趋势线。我尝试了这样的方法:

m, b = polyfit(data.Year, data.January, 1)
fit = m*(data.Year) + b
plt.plot(data.Year, fit)

此方法不起任何作用。我需要一些帮助来解决此问题,谢谢。

ua4mk5z4

ua4mk5z41#

使用较新的numpy.polynomial软件包的另一种方法可能更容易阅读:

import matplotlib.pyplot as plt
from numpy.polynomial import Polynomial

xdata = np.array([0,1,2,3,4,5,6,7,8,9])
ydata = np.array([0,1,2,2.5,3.5,4,5,5.5,6,7])

poly_fit = Polynomial.fit(xdata, ydata, 1)

plt.plot(xdata, ydata, 'o', *poly_fit.linspace())

5vf7fwbs

5vf7fwbs2#

如果使用matplotlib,则可以使用polyfit生成趋势线:import matplotlib.pyplot as plt import numpy as np
`

# create sample data
xdata = np.array([0,1,2,3,4,5,6,7,8,9])
ydata = np.array([0,1,2,2.5,3.5,4,5,5.5,6,7])
# calculate polynomial
z = np.polyfit(xdata, ydata, 1)
f = np.poly1d(z)
# calculate new x's and y's
x_new = np.linspace(xdata[0], xdata[-1], 50)
y_new = f(x_new)
plt.plot(xdata, ydata, 'o', x_new, y_new)
plt.xlim([xdata[0]-1, xdata[-1] + 1])
plt.show()

`

相关问题