тепловая карта с использованием набора данных разброса python matplotlib - PullRequest
5 голосов
/ 06 января 2012

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

Спасибо

Ответы [ 2 ]

3 голосов
/ 07 января 2012

Попробуйте параметр imshow origin=lower. По умолчанию он устанавливает (0,0) элемент массива в верхнем левом углу.

Например:

import numpy as np
import matplotlib.pyplot as plt
x = [1,2,3,4,5,5]
y = [1,2,3,4,5,5]
heatmap, xedges, yedges = np.histogram2d(x, y, bins=10)
extent = [xedges[0], xedges[-1], yedges[0], yedges[-1]]
fig = plt.figure()
ax1 = fig.add_subplot(211)
ax1.imshow(heatmap, extent = extent)
ax1.set_title("imshow Default");
ax2 = fig.add_subplot(212)
ax2.imshow(heatmap, extent = extent,origin='lower')
ax2.set_title("imshow origin='lower'");

fig.savefig('heatmap.png')

Производит:

enter image description here

0 голосов
/ 29 мая 2013

Слишком чтобы внешний вид тепловой карты соответствовал тому, что вы видите в разбросе, фактически используйте:

ax2.imshow(heatmap.T, extent = extent,origin='lower')
...