如何将颜色图绑定到数组?

时间:2019-02-12 13:49:12

标签: python arrays matplotlib colors

我想从一个数组值开始获取一个颜色数组。

例如:

a = [4,3,2,5,6,20,1,34]

我希望有一个新的颜色数组,例如matplotlib的viridis cmap,其中小数字与深色绑定(相同索引),大数字与浅色绑定。

2 个答案:

答案 0 :(得分:3)

您可以使用matplotlib.pyplot.Normalize,以便在将数据馈入绘图函数时将数据归一化为[0-1]间隔。 这是使用归一化范围的外观示例

a = [4,3,2,5,6,20,1,34]
# An example colormap
colormap = plt.cm.cool 
# Normalize using the min and max values in a
normalize = plt.Normalize(vmin=min(a), vmax=max(a))
# scatter plot with the parameters defined above
plt.scatter(range(len(a)), y=a, c=a, cmap=colormap, marker='o')

enter image description here

请注意,您将必须使用a作为matplotlib.pyplot.scatter中的c参数,正如文档中提到的那样:

  

颜色,顺序或颜色顺序,可选

因此,您将使用数组a从颜色图中选择值,这些值将依次由,ax中的mina值进行规范化。

答案 1 :(得分:1)

您可以像这样简单地创建一个带有rgb颜色的数组:

colors = ["rgb(0, 0, 0)"]

每个可能的数字可能在数组中都有一个条目。因此,此示例中的数字零将返回黑色的rgb。