创建一个非对称的色彩地图

6

我正在创建一个色图,用来在folium区域地图中映射颜色,使用的是来自这里的代码:

from branca.colormap import linear

colormap = linear.RdBu.scale(
    df.MyValue.min(),
    df.MyValue.max())

colormap

我的颜色地图

如您所见,最小值和最大值与0的值偏离较大,我希望这能在颜色地图中体现出来,即只有小于0的值应映射为红色,而所有正数值应映射为蓝色。

是否有办法在颜色地图中实现这种不对称性?我在网上没有看到太多的例子。

我正在进行以下操作:

colormap = colormap.to_step(index=[-200, 0, 1200])

但是它不够流畅:

在此输入图片描述

2个回答

10
您可以设置索引,以便获得不对称的色阶(在文档中称为不规则)。示例:
import branca.colormap as cm

colormap = cm.LinearColormap(colors=['red','blue'], index=[-200,0],vmin=-200,vmax=1200)
colormap

enter image description here

过渡效果将由您的索引确定。例如,以下是其他过渡效果:

colormap = cm.LinearColormap(colors=['red','blue'], index=[0,200],vmin=-200,vmax=1200)
colormap

在此输入图片描述

添加第三种颜色:

   colormap = cm.LinearColormap(colors=['red','lightblue','blue'], index=[-200,0,1200],vmin=-200,vmax=1200)
    colormap

输入图片说明



网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接