Подтвердить что ты не робот

Добавить альфу в существующую матрицу matplotlib

Я хотел бы сделать наложение нескольких графиков hexbin, но со встроенными цветовыми картами видна только последняя. Я не хочу создавать colormap de novo. Как можно добавить линейную альфа в цветовой код, не зная внутренней структуры цветовой карты заранее?

4b9b3361

Ответ 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()

введите описание изображения здесь