2016-11-19 131 views
1

我有兩個問題,但解決其中任何一個都忽略瞭解決其他問題的需要。對於這個複雜的表述,我毫不知情。如何繪製x軸上的數據框值和y軸上的指標

我有一個數據幀與溫度值從例如幾個(例如3個)高度的6個位置。高度被鎖定,因此是數據幀的索引。實施例(不匹配的數字):

place1 place2 place3 place4 place5 place6 
1  12  10  9  13  10  4 
2  18  15  13  14  8  8 
3  21  9  16  15  11  12 

我要繪製的溫度的每一個地方作爲高度的函數。然而!我想要的高度(指數)爲沿着Y- AXIS代替x軸。因此,我不想讓圖表從「從左到右」運行,而是希望「從下往上」運行。

如果我只是Plot a DataFrame它看起來有點像這樣:索引(高度)沿着X軸而不是Y軸。 - 注意值不匹配表!

ax.plot(data) 

它不能對數組進行轉置:它仍然是沿着Y軸的靈活鎖定X值的值。

我想要它到look like this沿着X軸的變化溫度和沿着Y軸的鎖定高度。 (請不要打擾不同的數據集;的一點是,圖是「垂直」而非水平):

ax.errorbar(temp, H, xerr=tempError, ecolor='gray') 

後者是從繪製簡單的Python列表和我工作中取得。但是,我的數據集很大,所以利用DataFrames會很好,最重要的是,我想使用fill_betweenx來顯示std,而不是圖中當前顯示的錯誤欄。

所以我實際上是尋找一個答案,任何這兩個問題:

  1. 我如何翻轉從數據框的情節(即不轉東風,但使軸交換)?
  2. 或者,如何在不使用DataFrame的情況下使用fill_betweenx

謝謝你的優勢!

拉塞Hamborg

+0

是什麼'''注意其值不匹配表!!'''的意思。 – wwii

回答

3

使用pyplot.plot和結構的X和Y的你想要的方式。

from matplotlib import pyplot as plt 
plt.plot(df.place1, df.index, df.place2, df.index, df.place3, df.index, 
     df.place4, df.index, df.place5, df.index, df.place6, df.index) 
plt.show() 
plt.close() 

或者多一點的一般:

for name, series in df.iteritems(): 
    plt.plot(series, df.index) 
plt.show() 
plt.close() 
相關問題