2014-01-22 3 views
1

Здравствуйте, я не знаю, что это неправильно с this.I иметь этот mgrib со значением азMatplotlib imshow ошибка()

pp=array(Arrays) #This is my Array that extract a Grid 

y,x=np.mgrid[slice(0,25, 1),slice(0,42, 1)] 
z=pp[y,x,1] #Extract Z with x,y position in the Array of pp 

Когда выполнять:

cmap = plt.get_cmap('Azul-Rojo-Alpha') 
norm = matplotlib.colors.Normalize(vmax=pp[:,:,1].max(), vmin=pp[:,:,1].min()) 
plt.imshow(z, cmap=cmap, norm=norm, interpolation='nearest') 

Дайте мне эту ошибку:

ValueError: data mapping points must start with x=0. and end with x=1 

Если проверка и ошибка здесь:

cdict1 = { 
'red': ((0.0, 0.0, (7.0/255.0)), 
     (1.0, 1.0, 1.0)), 

'green': ((0.0, 0.0, (183.0/255.0)), 
     (0.0, (44.0/255.0), 1)), 

'blue': ((0.0, 0.0,1.0), 
      (1.0, 0.0, 1.0)) 
} 
cdict1['alpha'] = ((0.0, 1.0, 1.0), 
          (0.5, 0.0, 0.0), 
       (1.0, 1.0, 1.0)) 
TEMPE = LinearSegmentedColormap('Azul-Rojo-Alpha', cdict1) 
plt.register_cmap(cmap=TEMPE) 

Но я не знаю почему.

Извините, мой английский

+0

Похоже, что ваша нормализация не работает должным образом по какой-то причине .. но я не могу сказать гораздо больше. – cgeroux

+0

Извините, я включил дополнительную информацию – virtualsets

ответ

0

Здравствуйте, я отвечу на свой вопрос. Я думаю, что это синтаксическая ошибка.

Создать словарь с двумя цветами

cdict1 = { 
'red': ((0.0, 0.0, 0.0),(1.0, 1.0, 1.0)), 
'green': ((0.0, 0.0, 0.717),(1.0, 0.17, 0.17)), 
'blue': ((0.0, 1.0,1.0),(1.0, 0.0, 0.0))} 

Put альфа-канал с 3 очками

cdict1['alpha'] = ((0.0, 1.0, 1.0),(0.5, 0.0, 0.0),(1.0, 1.0, 1.0)) 

Создать Colormap

TEMPE = LinearSegmentedColormap('Azul-Rojo-Alpha', cdict1,N=256,gamma=0.75) 

Регистрация цвет Карта

plt.register_cmap(name='temp',cmap=TEMPE) 

Normalice Цвет макс и мин сетки

norm = matplotlib.colors.Normalize(vmax=pp[:,:,1].max(), vmin=pp[:,:,1].min(), clip = True) 

цвет Зов карта

cmap = plt.get_cmap('temp') 

Создать изображение

plt.imshow(z[::-1], cmap=TEMPE, norm=norm , interpolation='nearest') #extent=[0,42,0,25] 
Смежные вопросы