<p>您正在使用的<code>np.polyfit</code>和<code>plt.scatter</code>函数需要单独的X和Y坐标列表</p>
<p>尝试:</p>
<pre><code>import random
import numpy as np
import matplotlib.pyplot as plt
tabuletson_x = []
tabuletson_y = []
for i in range(0, 10):
x = round(random.uniform(-1000,1000),2)
y = (2*x+1)
tabuletson_x.append(x)
tabuletson_y.append(y)
print(tabuletson_x)
print(tabuletson_y)
wielomian = np.poly1d(np.polyfit(tabuletson_x,tabuletson_y,3))
linia = np.linspace(-2000,2000,2000)
plt.scatter(tabuletson_x,tabuletson_y)
plt.plot(linia,wielomian(linia))
plt.show()
</code></pre>
<p>注意:在<code>for</code>循环之后引用<code>x</code>和<code>y</code>将给出随机生成列表中的最后一个值:</p>
<pre><code>list of x vals: [-8.78, 554.81, -693.22, 955.8, 88.95, 235.55, -108.67, -804.08, 494.65, 754.58]
list of y vals: [-16.56, 1110.62, -1385.44, 1912.6, 178.9, 472.1, -216.34, -1607.16, 990.3, 1510.16]
x: 754.58
y: 1510.16
</code></pre>
<p>有关更多信息:</p>
<p><a href="https://matplotlib.org/3.2.1/api/_as_gen/matplotlib.pyplot.scatter.html" rel="nofollow noreferrer">PyPlot Scatter documentation</a></p>
<p><a href="https://numpy.org/doc/1.18/reference/generated/numpy.polyfit.html" rel="nofollow noreferrer">PolyFit documentation</a></p>