问题描述
我有一张布兰卡色卡,是否可以按顺序翻转?
代码:
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.linear
是LinearColormap
实例的集合。 -
LinearColormap
具有用于映射的颜色列表colors
以及最小值vmin
和最大值vmax
作为属性一个与颜色线性相关的值。 -
LinearColormap
初始化程序将一系列颜色以及最小值和最大值作为参数。
因此,您可以通过传递反转的颜色列表并使用相同的最小值和最大值来基于现有实例创建新的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)