我正试图添加一个自定义的颜色栏到我的matplotlib图,从全透明(白色)运行到全彩色(mediumpurple)。
我已经走了很远,但仍然有一些问题。我这样做的方式,创建每个补丁之间的线条,这是可见的。这创造了文物,当我试图使颜色条看起来流畅。
fig, ax = plt.subplots(figsize=(10, 10))
max_val = 4
transparency_ticks = 500
color = mpl.colors.to_rgba(color)
cmap = mpl.colors.ListedColormap([(*color[:3], (1+a)/transparency_ticks) for a in range(transparency_ticks)])
norm = mpl.colors.Normalize(vmin=0, vmax=max_val)
cax = fig.add_axes([0.8, 0.17, 0.05, 0.5])
mpl.colorbar.ColorbarBase(cax, cmap=cmap, norm=norm, orientation='vertical')
这是transparency_ticks = 500
的图像。所以你可以看到每个补丁之间的线条。
这是transparency_ticks = 5000
的图像。你看不到这些线条了,因为它们已经和其他部分混合在一起了,但是这些线条使颜色条看起来更暗了。
1条答案
按热度按时间hi3rlvi21#
使用具有各种饱和度的
HSV
,而不是RGBA
上的级别: