Как посмотреть на матрицу в python или аналог imagesc в Matplotlib

Задача: посмотреть что из себя представляет матрица, так как это делается в Matlab при помощи imagesc
?нструменты: Matplotlib, matplotlib.pyplot.imshow

?ногда достаточно одного взгляда на вашу матрицу чтобы понять что то-то в ней не так. При достаточном опыте работы с одними и теми же данными и небольшом размеры матрицы, в принципе можно и на цифры глянуть. Но гораздо приятнее смотреть на это дело в цвете. В матлабе для этого служит функция imagesc. Посмотрим как это можно сделать в питоне при помощи библиотеки Matplotlib.

Код

 import matplotlib.pyplot as plt

 plt.imshow(concentration)

 plt.colorbar()

 plt.show()

Для начала библиотеку надо установить. В Ubuntu это делается лёгким движением руки:

sudo apt-get install python-matplotlib

Затем нужно импортировать часть библиотеки отвечающей собственно за рисование

 import matplotlib.pyplot as plt

Далее ещё несколько нехитрых телодвижений:

 plt.imshow(concentration)

 plt.colorbar()

 plt.show()

Первоее собственно отрисует вам вашу матрицу, второе поместит на картинку цветовую шкалу, а третье выведет картинку в открывшееся окно. Подробности об imshow. Результат у меня был таким:
matplotlib11.png

Если вы посмотрите на легенду то увидите что числа очень большие (там наверху написано на сколько нужно умножать). На самом деле полезные данные имеют значения от 0 до 1, а всё остальное это грубо говоря цифры закрываюшие дырки, в матлабе это были бы скорее всего NaN значения.

Чтобы нарисовать картинку на которой можно будет ещё что то полезное прочитать, то есть задать диапазон отображаемых данных, делаем так:

plt.imshow(concentration,vmin=0,vmax=1)

Получаем:
matplotlib2.png

Стало в принципе более понятно где значения настоящих данных побольше а где поменьше.
Кому интересно эта картинка показывает лёд, но Антарктика вверху и большая, а Арктика внизу слева и очень маленькая. Это из за очень хитрой сетки модели производящей эти данные )

Вот так выглядит матрица с температурой )
matplotlib33.png