我有两个问题,但解决其中任何一个都忽略了解决另一个问题的必要性。
我有一个数据框,其温度值来自于有几个(例如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轴而不是x轴。因此,不是让图表从“从左到右”运行,而是希望“从下到上”运行。
如果我只是Plot a DataFrame它看起来有点像:索引(高度)沿X轴而不是Y轴。 - 注意值与表格不匹配!!
ax.plot(data)
它不适用于转置数组:它仍然是沿Y轴的值,对锁定的X值是灵活的。
我希望它能够沿着X轴变化的温度和沿着Y轴的锁定高度的look like this。 (请不要选择不同的数据集;重点是图表是'垂直的'而不是水平的):
ax.errorbar(temp, H, xerr=tempError, ecolor='gray')
后者是通过绘制简单的python列表而制作的,这对我有用。但是,我的数据集很大,所以利用DataFrames会很好,最重要的是,我想使用fill_betweenx
来显示std
而不是图中当前显示的错误栏。
所以我实际上是在寻找这两个问题的答案:
fill_betweenx
?使用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()