2014-10-14 4 views
0

Я пытаюсь изменить цветовую схему по умолчанию для участка matplotlib.Raster to Numpy Array - как изменить цветовую схему по умолчанию графика matplotlib

До сих пор у меня есть следующий код:

import arcpy 
import matplotlib.pyplot as plt  
import matplotlib.cm 
input_Raster = arcpy.Raster('G:\\WetnessIndex') 
arr = arcpy.RasterToNumPyArray(input_Raster) 
cm = plt.set_cmap('Blues') 
plt.imshow(arr) 
plt.title('Wetness Index') 
plt.colorbar(orientation = 'vertical') 
plt.show() 

Линия cm = plt.get_cmap('blues'), кажется, не делают разницы, как я думал, что это было бы, на основе Matplotlib color_maps ссылки.

+0

Спасибо @ebarr за ответ. Я просто собирался ответить на свой вопрос, но был избит! Я обнаружил, что моя строка: cm = plt.get_cmap ('blues') должна быть – Student2014

+0

cm = plt.set_cmap ('Blues'), которую я сейчас обновил в своем исходном коде. – Student2014

ответ

1

Вам необходимо пройти соответствующую цветовую схему в качестве аргумента для imshow.

например.

im = plt.imshow(arr,cmap="hot") 

или в вашем случае:

plt.imshow(arr,cmap=cm) 

В качестве альтернативы, вы можете использовать команду set_cmap для установки по умолчанию cmap для текущей фигуры:

plt.set_cmap('hot') 
plt.imshow(arr) 
+0

Большое спасибо за ваш ответ. – Student2014

+0

Да, метод set_cmap идеален для того, что мне нужно, т. Если вы считаете, что вопрос полезен, пожалуйста, проголосуйте! – Student2014

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