【发布时间】:2014-12-28 16:57:36
【问题描述】:
我正在尝试将一条最适合我的 matplotlib 图表的线性线拟合。我不断收到 x 和 y 第一维不同的错误。但是它们的长度都是 15。我做错了什么?
import matplotlib.pyplot as plt
from scipy import stats
import numpy as np
x = [0.46,0.59,0.68,0.99,0.39,0.31,1.09,0.77,0.72,0.49,0.55,0.62,0.58,0.88,0.78]
y = [0.315,0.383,0.452,0.650,0.279,0.215,0.727,0.512,0.478,0.335,0.365,0.424,0.390,0.585,0.511]
xerr = [0.01]*15
yerr = [0.001]*15
plt.rc('font', family='serif', size=13)
m, b = np.polyfit(x, y, 1)
plt.plot(x,y,'s',color='#0066FF')
plt.plot(x, m*x + b, 'r-') #BREAKS ON THIS LINE
plt.errorbar(x,y,xerr=xerr,yerr=0,linestyle="None",color='black')
plt.xlabel('$\Delta t$ $(s)$',fontsize=20)
plt.ylabel('$\Delta p$ $(hPa)$',fontsize=20)
plt.autoscale(enable=True, axis=u'both', tight=False)
plt.grid(False)
plt.xlim(0.2,1.2)
plt.ylim(0,0.8)
plt.show()
错误
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
~\AppData\Local\Temp/ipykernel_34116/1820029981.py in <module>
7 m, b = np.polyfit(x, y, 1)
8 plt.plot(x,y,'s',color='#0066FF')
----> 9 plt.plot(x, m*x + b, 'r-') #BREAKS ON THIS LINE
10 plt.errorbar(x,y,xerr=xerr,yerr=0,linestyle="None",color='black')
11 plt.xlabel('$\Delta t$ $(s)$',fontsize=20)
TypeError: can't multiply sequence by non-int of type 'numpy.float64'
【问题讨论】:
标签: python numpy matplotlib