2016-08-06 2 views
4

Я пытаюсь построить цвет какого-либо массива и преобразовать некоторые значения в np.nan (для упрощения интерпретации) и ожидать другого цвета при построении (белый?), Вместо этого он вызывает проблему с графиком и цветную панель.Цвет изображения Значения NaN

#this is before converted to nan 
array = np.random.rand(4,10) 
plt.pcolor(array) 
plt.colorbar(orientation='horizontal')     

normal result

#conditional value converted to nan 
array = np.random.rand(4,10) 
array[array<0.5]=np.nan 
plt.pcolor(array) 
plt.colorbar(orientation='horizontal')     

conditional result

Любое предложение?

ответ

4

Одним из раствора построить замаскированный массив, как здесь:

import matplotlib.pylab as plt 
import numpy as np 

#conditional value converted to nan 
array = np.random.rand(4,10) 
array[array<0.5]=np.nan 
m = np.ma.masked_where(np.isnan(array),array) 
plt.pcolor(m) 
plt.colorbar(orientation='horizontal')  
plt.show() 

enter image description here

Смежные вопросы