我有两个问题,但解决其中任何一个都忽略了解决另一个问题的必要性。
我有一个数据框,其温度值来自例如:有几个(例如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值很灵活。
我想要它look like this沿着X轴的可变温度和沿着Y轴的锁定高度。 (请不要使用不同的数据集;重点是图表是“垂直的”而不是水平的):
ax.errorbar(temp, H, xerr=tempError, ecolor='gray')
后者是通过绘制简单的python列表制作的,这对我有用。但是,我的数据集很大,因此使用DataFrames会很好,最重要的是,我想使用fill_betweenx
来显示std
,而不是图中当前显示的错误栏。
所以我实际上是在寻找这两个问题的答案:
fill_betweenx
?答案 0 :(得分: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()
答案 1 :(得分:0)
这是对问题号的建议。 1
plt.plot(data, range(number_of_heights))
在您的示例中,number_of_heights为3