Я хочу использовать цветовую карту, где разница в цвете для высоких значений высока, а для остальных моих значений не сильно отличается.Я думаю, что логарифмическая карта цветов будет лучшим способом сделать это.Я хочу построить тепловую карту, неважно, в matplotlib, seaborn, plotly.
В примерах для создания логарифмической цветовой карты, как здесь, всегда создается сетка и что-то получается для X и Y, но я просто2d массив (который представляет изображение).: https://matplotlib.org/3.1.0/gallery/images_contours_and_fields/pcolor_demo.html#sphx-glr-gallery-images-contours-and-fields-pcolor-demo-py:
N = 100
X, Y = np.mgrid[-3:3:complex(0, N), -2:2:complex(0, N)]
# A low hump with a spike coming out.
# Needs to have z/colour axis on a log scale so we see both hump and spike.
# linear scale only shows the spike.
Z1 = np.exp(-(X)**2 - (Y)**2)
Z2 = np.exp(-(X * 10)**2 - (Y * 10)**2)
Z = Z1 + 50 * Z2
fig, (ax0, ax1) = plt.subplots(2, 1)
c = ax0.pcolor(X, Y, Z,
norm=LogNorm(vmin=Z.min(), vmax=Z.max()), cmap='PuBu_r')
fig.colorbar(c, ax=ax0)
c = ax1.pcolor(X, Y, Z, cmap='PuBu_r')
fig.colorbar(c, ax=ax1)
plt.show()
Также как в этом посте: Второй пример для логарифмической карты цветов
Так что будет, если я это сделаюпросто иметь массив image / 2d, например a=np.array([[0,2,3],[4,5,6],[7,8,9]])
?