首先,我创建一个元组列表(要绘制的点)。每个元组由3个数字组成(x - coord,y - coord,c - 颜色点)
import random
import matplotlib.pyplot as plt
low = 1
high = 20
count = 100
data_points = [(random.randint(low,high), random.randint(low,high),
random.randint(low,high))for x in range(count)]
现在我想用pyplot.scatter()方法绘制它。
如果我指定我的情节:
plt.scatter(*zip(*data_points))
plt.show()
将前两个列表作为x和y坐标(这是正确的)读取,但第三个列表被视为一个点的大小(关于文档是正确的)。 我怎么告诉python读取我的第三个列表作为颜色属性(这是方法的第四个参数)pyplot.scatter()方法??
P.S。
matplotlib.pyplot.scatter(x,y,s = 20,c = u' b',marker = u' o',cmap = None, norm = None,vmin = None,vmax = None,alpha = None,linewidths = None, verts = None,hold = None,** kwargs)
答案 0 :(得分:2)
如果您可以更改data_points
并且可以使用额外费用,则可以添加一个额外的数字来指定大小:
data_points = [(random.randint(low,high), random.randint(low,high),
15, random.randint(low,high))for x in range(count)]
plt.scatter(*zip(*data_points))
plt.show()