matplotlib измененная карта цветов с белым как ноль

1

Некоторые из стандартных matplotlib cmap s, таких как viridis или jet показывают темные цвета в небольших значениях. Хотя это то, что мне нужно, мне нравится, чтобы они ничего не показывали, т.е. белый фон, если значение равно нулю. Для ненулевых значений обычные цвета этой цветовой карты в порядке.

Можно ли сделать это?

Теги:
matplotlib
colormap

1 ответ

2
Лучший ответ

Вы предпочли бы замаскировать нуль из своих данных, например, установив эти значения в nan или использовать маскированный массив. Затем вы можете просто set_bad("white") для вашей цветовой карты.

  • 0
    Благодарю. работает как шарм! Но только один последний (может быть, немного общий) вопрос. Является ли обычно маскирование быстрее (т. zz = np.ma.masked_where(zz < 0.2, zz) ) или назначение NaN (т. zz[zz<0.2] = np.NaN ) для больших матриц? например
  • 1
    Я на самом деле не знаю. Я предполагаю, что установка элементов в nan быстрее, чем использование массивов ma . Но опять же, при построении графиков вас больше всего интересует время рисования, и не рисование замаскированных массивов может быть таким же быстрым, как и рисование нанов. IPython %timeit magic - это хорошая вещь, чтобы узнать для себя.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню