2016-03-04 57 views
1

我需要繪製2D「熱圖」使用python使用從我的文件數據。我的文件有3列x,y,值。 X變爲1至199和y從1到49我已經成功地從這裏使用代碼:Make a 2D pixel plot with matplotlib但我區是矩形的,我需要的是「說謊」矩形,但上面的代碼使得「站立」的矩形。2D熱圖使用python和matplotlib

任何方式如何由90度逆時針旋轉,或調換的數據?我很新的蟒蛇,我已經發現行不通的所有解決方案...

這裏是我的代碼產生「站立」矩形:

import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib.cm as cm 

x,y,temp = np.loadtxt('snorm000990987662298').T 
nrows, ncols = 199, 49 
grid = temp.reshape((nrows, ncols)) 

plt.imshow(grid, cmap=cm.gist_gray) 
plt.show() 

回答

0

嘗試使用numpy.transpose

grid = np.transpose(grid) 
plt.imshow(grid, cmap=cm.gist_gray) 
plt.show() 
+0

尼斯,這個工作的感謝,它的「大話」矩形,現在我需要扭轉電網在y軸上,因爲它的倒掛... – Martin

+0

啊。你想要的可能是['numpy.rot90'](http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.rot90.html#numpy.rot90):'grid = np.rot90(網格)'。另請參見['numpy.flipud'](http://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.flipud.html)和['numpy.fliplr'](HTTP:/ /docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.fliplr.html)。 – Jeff

+0

我翻轉了Y軸:)。但是,謝謝你的解決方案。 – Martin