【发布时间】:2021-04-24 14:20:54
【问题描述】:
我有以下数据框:
>>> mean_traf_tie
a d c
0.22 0.99 0.11 22
0.23 21
0.34 34
0.46 45
0.44 0.99 0.11 45
0.23 65
0.34 66
0.46 68
0.50 0.50 0.11 22
0.23 12
0.34 34
0.46 37
...
我想从这个数据框中绘制图,c 将是 X 轴,y 将是平均速度,线条将根据 a 和 d 列,例如,一条线将用于a=0.22 和 d=0.99,x 为 c,y 为平均速度,然后第二行是 a=0.44 和 d=0.99 等。
我尝试过这样做:
df.plot()
(原始数据框中的值不同)。
如您所见,由于某种原因,它在 x 轴上绘制 a、d 并仅创建一条线。
我尝试过这样修复它:
df.unstack(level=0).plot(figsize=(10,6))
但后来我得到了非常奇怪的图表,a 和 d 的线正确,但 x 轴错误:
如您所见,它以某种方式绘制 a,d 值,但这不是我想要的 - 我希望它是 c 列,然后根据 a,d 列创建行,假设创建连续线。 我也试过了:
df[('mean_traf_tie')].unstack(level=0).plot(figsize=(10,6))
plt.xlabel('C')
plt.ylabel('mean_traf_tie')
所需的输出将 c 列作为 x 轴,将 mean_traf_tie 作为 y 轴,并且将在 a 和 d 列上生成线(0.22 和 0.99 的线,0.44 和 0.99 等的线)。
【问题讨论】:
标签: python pandas matplotlib multi-index line-plot