2016-08-16 147 views
0

我有下面的代碼:Pcolorfast圖像/陣列旋轉

fig, ax = pyplot.subplots() 
graph = ax.pcolorfast(data, cmap='viridis', vmin = min, vmax = max) 
pyplot.colorbar(graph) 
pyplot.show() 

,並繪製我想要的東西,但它是橫盤整理。是否有旋轉-90或270度的好方法?我試過a.T,它返回原始圖。我也試過ndimage.rotate(graph, -90|270),ndimage.interpolation.rotate(graph, -90|270)numpy.rot90(data,3)。對於無效旋轉平面的前兩個返回錯誤,第二個出現將圖形從邊緣推開,失去了大部分數據點。

如果有人有一些想法,我會非常感激。即使這是我提出錯誤的論點。我在這裏不知所措。

+0

也許它會更容易知道*爲什麼*你想旋轉它,或者你期望得到什麼。我認爲改變數據和/或軸比完成的圖更容易。正如@Kristof在他們的回答中所說,轉置在這裏完美運作。 – Luis

回答

0

a應該等於data在你的例子中?嘗試用隨機二維數組代碼您的代碼,並且np.transpose(a)以及a.T似乎正確地旋轉圖形,而不是您在此處指示的內容('返回原始圖形')。如果情況並非如此,我認爲我們需要更多信息。

+0

是的,對不起,我在我的問題中使用了'a.T'而不是'data.T',因爲那正是我所看到的明智例子。但是,在我的實際代碼中,轉置完全不會改變劇情。 – SanticL

+0

既然情節是縮放的,我實際上是在尋找一種「熱圖」類型的東西。問題是,我想看看熱量與時間而不是時間與熱量(y,x而不是x,y)。我認爲'data.T'應該可以工作,但它只是在相同的位置給我回來。這是否更清楚? – SanticL

+0

'data'代表什麼?它是二維數組嗎?應該是什麼時間?我不明白爲什麼轉置不會改變你在這裏提供的例子中的一個東西。 您是否嘗試過使用完全指定的'pcolorfast(x,y,z)'而不是直接在繪圖函數中輸入'data'? – Kristof