“ Matplotlib不支持将生成器作为输入。当我尝试使用scatter()绘制列表时”

时间:2020-04-17 17:51:28

标签: python

这是我的代码:

import matplotlib.pyplot as plt

x_values = list(range(1,1001))
y_values = (x**2 for x in x_values)
plt.scatter(x_values,y_values,s=10)
#range of axis
plt.axis([0,1100,0,1100000])
plt.show()

每当我尝试通过python中的散点图方法绘制数字列表时,总会收到“ matplotlib不支持generatore”的错误。有什么解决办法吗?


Image of code

1 个答案:

答案 0 :(得分:0)

这样做

y_values = (x**2 for x in x_values)

您创建一个生成器。

为其添加一个列表并提供以下内容:

import matplotlib.pyplot as plt

x_values = list(range(1,1001)) 
y_values = [x**2 for x in x_values]   # list - not generator
plt.scatter(x_values,y_values,s=10)

plt.axis([0,1100,0,1100000])
plt.show()

获得

graph

请参阅: