作者:ahworld
链接:python画图自定义colorbar
来源:微信公众号-seqyuan
著作权归作者所有,任何形式的转载都请联系作者。
自定义colorbar包含两方面:
自定义colorbar的颜色组合及颜色占比
自定义colorbar的位置和大小
这两项比较简单和实用,matplotlib和seaborn都可以尝试。对于某些特殊的数据分布类型,想在一张图内显示的情况比较适合。
cmap的自定义
cmap本质是一个RGBA格式的颜色列表,元素类型为np.array() ,np.array()里包含4个0-1的元素,前3个是RGB值,第4个为透明度。
seaborn取颜色列表可以用以下方式:
sns.light_palette('blue',reverse=True,n_colors=5)
plt.cm.get_cmap('Blues', 5)
plt.cm.get_cmap('cubehelix', 5)
如果数据中有两组相差比较大的数据构成,可考虑取两组颜色值合并,可通过n_colors参数控制两组颜色的占比,如果存在极值,极值可设置为特殊颜色。
colorbar的位置和大小
可以把colorbar作为单独的axes,自由地定义其位置和占图比例,例如colorbar可以这样设置:cbar_ax = fig.add_axes([0.7, 0.75, 0.025, 0.2]),在seaborn热图中有对应的参数接受自定义的colorbar。
#!/usr/bin/env python
# coding: utf-8 -