2015-12-05 2 views
0

У меня есть массив вида:2D Гистограмма из массива данных установлено

array([[ 912.1, 821.5], 
      [ 911.9, 821.5], 
      [ 911.9, 821.5], 
      ..., 
      [ 654.6, 552.8], 
      [ 655. , 553.3], 
      [ 655.4, 553.7]]) 

Таким образом, существует как 250000 координат, организованных таким образом. Каждый из них содержит одно значение x и одно значение y. Я хочу создать 2D-гистограмму, используя эти данные. Я смотрел учебники, но все они, похоже, показывают, как создавать 2D-гистограммы из случайных данных, а не такую ​​матрицу. Итак, в конце концов, это должна быть карта тепла, где красный цвет означает больше, чем синий, например, синий.

У кого-нибудь есть идеи или подсказки для решения этой проблемы?

+0

'pl.hist2d (данные [:, 0], data [:, 1])' – Bart

ответ

1

Вы можете просто разделить массив на отдельные векторы для x и y:

x = arr[:,0] 
y = arr[:,1] 

Затем вы можете создать 2D гистограмму стандартным способом с помощью hist2d:

plt.hist2d(x, y) 
plt.colorbar() 
plt.show() 

Или, одна строка:

plt.hist2d(arr[:,0], arr[:,1]) 

Для перевозки гибкость, например. изменяя цветовую шкалу, пожалуйста, прочитайте документацию для numpy.histogram2d.

+0

Благодарим за быстрый ответ! –

+0

У меня вторая проблема. Некоторые координаты в этом массиве: ... [нан, нан], [нан, нан], ... поэтому нет никаких значений. Я хочу оставить их или пропустить их. Если я этого не сделаю, я получаю эту ошибку: ValueError: невозможно преобразовать float NaN в целое число Есть ли возможность сделать это? –

+0

Пожалуйста, разместите новый вопрос, включая пример. Или, еще лучше, сначала сделайте небольшое исследование. См. здесь: http://stackoverflow.com/q/11620914/2737715 –

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