【发布时间】:2021-02-15 09:40:48
【问题描述】:
举个例子:
df = pd.DataFrame(np.random.randint(1,10, size=(8,3)), columns=list('XYZ'))
df.plot(linewidth=10)
绘制顺序将最后一列放在最上面:
我怎样才能使它保持数据和图例的顺序,但改变行为,使其在 Z 上的 Y 上绘制 X?
(我知道我可以更改数据列的顺序并编辑图例的顺序,但我希望有一种更简单的方法,让数据保持原样)
更新:使用的最终解决方案:
(感谢 r-beginners)我使用 get_lines 来修改每个绘图的 z 顺序
df = pd.DataFrame(np.random.randint(1,10, size=(8,3)), columns=list('XYZ'))
fig = plt.figure()
ax = fig.add_subplot(111)
df.plot(ax=ax, linewidth=10)
lines = ax.get_lines()
for i, line in enumerate(lines, -len(lines)):
line.set_zorder(abs(i))
fig
在笔记本中产生:
【问题讨论】:
标签: python pandas matplotlib