如何拥有一个大的matplotlib色彩映射而无需手动定义每种颜色?

时间:2017-06-27 04:16:51

标签: python

我想要绘制一堆数据。现在,有500个可能的值。我想根据值为数据着色。要立即绘制散点图,我将以下内容用于plt.scatter:

c = colormap = np.array(['red', 'lime', 'black'])

在np.array中硬编码500种颜色似乎不切实际。

plt.scatter(pandaframe['WIDTH'], pandaframe['LENGTH'], c=colormap[model.labels_], s=40)

有没有办法可以制作它,这样我就可以获得500种不同颜色而无需对色彩图进行硬编码?

1 个答案:

答案 0 :(得分:0)

如果您不介意使用内置色彩映射,则可以找到指导here。要使用它,您的c应该是您可能确定相应颜色的500个值。使用cmap指定要使用的色彩映射表。您还可以绘制颜色条以了解色彩图。一个简单的完整示例:

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(500)
y = x.copy()
np.random.shuffle(x)

plt.scatter(x, y, c=y, cmap='summer')
plt.colorbar()
plt.show()

enter image description here