Python matplotlib:为colormap添加图例

时间:2016-02-16 23:12:24

标签: python matplotlib

我是matplotlib的新手,我正在尝试重新创建一个如下图所示的数字:

enter image description here

我知道我必须使用colormap根据我的x和y值创建这样的输出。我无法想象的是如何添加图例,以便它可以动态地计算colormap变量的值(例如这里称为“Degree”)。以下是我到目前为止的样本数据:

from matplotlib import pyplot as plt

x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [125, 32, 54, 253, 67, 87, 233, 56, 67]

color = [str(item/255.) for item in y]

plt.scatter(x, y, s=500, c=color)

plt.show()

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:3)

您可以为绘图指定适当的色彩映射,在本例中为灰度色彩映射:

x = [1, 2, 3, 4, 5, 6, 7, 8, 9]
y = [125, 32, 54, 253, 67, 87, 233, 56, 67]

color = [item / 255.0 for item in y]
grayscale_map = plt.get_cmap('gray')

plt.figure()
plt.scatter(x, y, s = 500, c = color, cmap = grayscale_map)
plt.colorbar()
plt.show()

enter image description here

请注意,我将您的color列表更改为可能(大概)从0到1的浮动列表。