Некоторые из стандартных matplotlib
cmap
s, таких как viridis
или jet
показывают темные цвета в небольших значениях. Хотя это то, что мне нужно, мне нравится, чтобы они ничего не показывали, т.е. белый фон, если значение равно нулю. Для ненулевых значений обычные цвета этой цветовой карты в порядке.
Можно ли сделать это?
Вы предпочли бы замаскировать нуль из своих данных, например, установив эти значения в nan
или использовать маскированный массив. Затем вы можете просто set_bad("white")
для вашей цветовой карты.
zz = np.ma.masked_where(zz < 0.2, zz)
) или назначение NaN (т.zz[zz<0.2] = np.NaN
) для больших матриц? напримерnan
быстрее, чем использование массивовma
. Но опять же, при построении графиков вас больше всего интересует время рисования, и не рисование замаскированных массивов может быть таким же быстрым, как и рисование нанов. IPython%timeit
magic - это хорошая вещь, чтобы узнать для себя.