Я хотел бы сделать наложение нескольких графиков hexbin, но со встроенными цветовыми картами видна только последняя. Я не хочу создавать colormap de novo. Как можно добавить линейную альфа в цветовой код, не зная внутренней структуры цветовой карты заранее?
Добавить альфу в существующую матрицу matplotlib
Ответ 1
Я не совсем уверен, согласуется ли это с тем, что "не знаю внутренней структуры цветовой карты", но возможно, что-то вроде этого будет работать, чтобы добавить линейную альфу к существующей цветовой карте?
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()