我有两个问题,但是解决其中一个问题却忽略了解决另一个问题的需要。
我有一个带有温度值的数据框,例如在几个(例如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
而不是如图所示的当前错误栏。因此,我实际上正在寻找以下两个问题的答案:
如何从DataFrame翻转图(即不转置df,而是进行轴交换)?
或者,如何在不使用DataFrames的情况下利用
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()
关于python - 如何在x轴上绘制数据框值并在y轴上绘制索引,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/40696591/