Python - пользовательская цветовая карта, имеющая разные цвета для 0,99 и 0,999 - PullRequest
1 голос
/ 11 октября 2019

Я делаю трехмерный график, где значения Z растягиваются от 0 до приблизительно 1. Интересно, возможно ли иметь цветовую карту, в которой мои значения 0,999 отличаются от моих значений 0,99, чтобы я мог различить эти пики.

Вот мой текущий соответствующий код:

fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X_grid, Y_grid, Z_grid, cmap=cm.coolwarm)

для ясности отредактируйте:
У меня есть непрерывные Z-значения от 0 до 1. Большинство моих значений составляют около 0.990, хотя с несколькими пиками около 0.999,Таким образом, я ищу непрерывную цветовую карту с «более высоким разрешением», которая переходит от одного цвета от 0,990 к другому цвету в 0,999, так что это последнее изменение +0,009 является видимым. Двоичное решение, где все значения выше заданного числа (например, 0,998) также будут в порядке, хотя, возможно, не так хорошо выглядят!

1 Ответ

2 голосов
/ 11 октября 2019

Вы можете установить 3 специальных цвета для цветовых карт Matplotlib: над, под и над плохим. Это цвета для значений вне диапазона и значений nan соответственно.

Для вашего случая использования вы можете установить максимальное значение цветового диапазона равным 0,99 и установить over-color следующим образом:


cmap = plt.get_cmap('coolwarm')
cmap.set_over('black')
fig = plt.figure()
ax = fig.gca(projection='3d')
surf = ax.plot_surface(X_grid, Y_grid, Z_grid, cmap=cmap, vmax=0.99)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...