使用pyplot.scatter()方法

时间:2015-05-12 12:25:21

标签: python matplotlib plot

首先,我创建一个元组列表(要绘制的点)。每个元组由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)

1 个答案:

答案 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()