我想从一个数组值开始获取一个颜色数组。
例如:
a = [4,3,2,5,6,20,1,34]
我希望有一个新的颜色数组,例如matplotlib的viridis cmap,其中小数字与深色绑定(相同索引),大数字与浅色绑定。
答案 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')
请注意,您将必须使用a
作为matplotlib.pyplot.scatter
中的c
参数,正如文档中提到的那样:
颜色,顺序或颜色顺序,可选
因此,您将使用数组a
从颜色图中选择值,这些值将依次由,ax
中的min
和a
值进行规范化。
答案 1 :(得分:1)
您可以像这样简单地创建一个带有rgb颜色的数组:
colors = ["rgb(0, 0, 0)"]
每个可能的数字可能在数组中都有一个条目。因此,此示例中的数字零将返回黑色的rgb。