将alpha添加到现有matplotlib颜色映射

2024-04-23 07:47:58 发布

您现在位置:Python中文网/ 问答频道 /正文

我想将几个hexbin图叠加起来,但是对于内置的彩色地图,只有最后一个是可见的。我不想从头构建彩色地图。如何在事先不知道颜色映射的内部结构的情况下将线性alpha添加到颜色映射?


Tags: alpha颜色地图情况线性内置彩色内部结构
1条回答
网友
1楼 · 发布于 2024-04-23 07:47:58

我不太确定这是否符合“不知道colormap的内部结构”的条件,但也许这样的东西可以将线性alpha添加到现有的colormap中?

import numpy as np
import matplotlib.pylab as pl
from matplotlib.colors import ListedColormap

# Random data
data1 = np.random.random((4,4))

# Choose colormap
cmap = pl.cm.RdBu

# Get the colormap colors
my_cmap = cmap(np.arange(cmap.N))

# Set alpha
my_cmap[:,-1] = np.linspace(0, 1, cmap.N)

# Create new colormap
my_cmap = ListedColormap(my_cmap)

pl.figure()
pl.subplot(121)
pl.pcolormesh(data1, cmap=pl.cm.RdBu)
pl.colorbar()

pl.subplot(122)
pl.pcolormesh(data1, cmap=my_cmap)
pl.colorbar()

enter image description here

相关问题 更多 >