您可以颠倒branca颜色图的顺序吗?

问题描述

我有一张布兰卡色卡,是否可以按顺序翻转?

例如 这个:

enter image description here

对此:

enter image description here

代码

import branca.colormap as cm
den_colormap = cm.linear.RdBu_11

解决方法

尝试一下:

import branca.colormap as cm

den_colormap = cm.linear.RdBu_11.colors
print('Original : \n',den_colormap)

den_colormap.reverse()
print('reversed : \n',den_colormap)

out = cm.LinearColormap(colors=den_colormap)
print('out : \n',out.colors)

输出:

Original : 
 [(0.403921568627451,0.0,0.12156862745098039,1.0),(0.6980392156862745,0.09411764705882353,0.16862745098039217,(0.8392156862745098,0.3764705882352941,0.30196078431372547,(0.9568627450980393,0.6470588235294118,0.5098039215686274,(0.9921568627450981,0.8588235294117647,0.7803921568627451,(0.9686274509803922,0.9686274509803922,(0.8196078431372549,0.8980392156862745,0.9411764705882353,(0.5725490196078431,0.7725490196078432,0.8705882352941177,(0.2627450980392157,0.5764705882352941,0.7647058823529411,(0.12941176470588237,0.4,0.6745098039215687,(0.0196078431372549,0.18823529411764706,0.3803921568627451,1.0)]

reversed : 
 [(0.0196078431372549,(0.403921568627451,1.0)]

out : 
 [(0.0196078431372549,1.0)]
,
  • cm.linearLinearColormap实例的集合。

  • LinearColormap具有用于映射的颜色列表colors以及最小值vmin和最大值vmax作为属性一个与颜色线性相关的值。

  • LinearColormap初始化程序将一系列颜色以及最小值和最大值作为参数。

Source


因此,您可以通过传递反转的颜色列表并使用相同的最小值和最大值来基于现有实例创建新的LinearColormap实例。

def reversed_colormap(existing):
    return cm.LinearColormap(
        colors=list(reversed(existing.colors)),vmin=existing.vmin,vmax=existing.vmax
    )

示例:

RdBu_11_reverse = reversed_colormap(cm.linear.RdBu_11)