2016-11-19 130 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() 
相关问题