Python 使用matplotlib打印[x,y]
我尝试使用以下代码绘制knn的散点图,其给出以下错误: TypeError:zip参数#1必须支持迭代Python 使用matplotlib打印[x,y],python,matplotlib,Python,Matplotlib,我尝试使用以下代码绘制knn的散点图,其给出以下错误: TypeError:zip参数#1必须支持迭代 您的数据位于列表的列表的列表的中,试图从中获取散点图可能需要将主列表的平展为列表的列表的;从而将尺寸减少到2D。虽然以下不是从数据中获取散点图的唯一方法,但它仍然是一个不错的起点: import matplotlib.pyplot as plt from functools import reduce plt.scatter(*zip(*reduce(lambda x,y: x+y, l))
您的数据位于
列表的列表的列表的中,试图从中获取散点图可能需要将主列表的平展为列表的列表的;从而将尺寸减少到2D。虽然以下不是从数据中获取散点图的唯一方法,但它仍然是一个不错的起点:
import matplotlib.pyplot as plt
from functools import reduce
plt.scatter(*zip(*reduce(lambda x,y: x+y, l)), c='r', s=100)
plt.show()
减少l
的维度还有无数其他方法。这个正好对我来说很整洁
我希望这能有所帮助。一个完整的例子会有帮助。你希望分散
对你的数据有什么作用len(l)Out[12]:4
[len(a)for a in l]Out[13]:[14,9,39,38]
import matplotlib.pyplot as plt
from functools import reduce
plt.scatter(*zip(*reduce(lambda x,y: x+y, l)), c='r', s=100)
plt.show()