我创建一个颜色表,以地图的颜色在大青叶地区分布图,使用代码来自这里:
from branca.colormap import linear
colormap = linear.RdBu.scale(
df.MyValue.min(),
df.MyValue.max())
colormap
Run Code Online (Sandbox Code Playgroud)
如您所见,与0相比,最小值和最大值有偏斜,我希望将其反映在颜色图中,即,仅将<0的值映射为红色,而将所有正值的映射为蓝色。 。
有没有办法在颜色图中具有这种不对称性?我在网上没有看到很多例子。
我做的像:
colormap = colormap.to_step(index=[-200, 0, 1200])
Run Code Online (Sandbox Code Playgroud)
但这并不顺利:
如果需要非对称的色标(在文档中称为不规则色标),则可以设置索引。例:
import branca.colormap as cm
colormap = cm.LinearColormap(colors=['red','blue'], index=[-200,0],vmin=-200,vmax=1200)
colormap
Run Code Online (Sandbox Code Playgroud)
过渡将由您的索引给出。例如,这些是其他转换:
colormap = cm.LinearColormap(colors=['red','blue'], index=[0,200],vmin=-200,vmax=1200)
colormap
Run Code Online (Sandbox Code Playgroud)
添加第三种颜色:
colormap = cm.LinearColormap(colors=['red','lightblue','blue'], index=[-200,0,1200],vmin=-200,vmax=1200)
colormap
Run Code Online (Sandbox Code Playgroud)