首页 文章

使用pyplot.scatter()方法绘制元组列表(x coord,y coord,color)

提问于
浏览
1

首先,我创建一个元组列表(要绘制的点) . 每个元组由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()方法的第三个列表 as a color attribute (这是方法的第四个参数)?

附:

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 回答

  • 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()
    

相关问题