假设我运行以下脚本:
import matplotlib.pyplot as plt
lineWidth = 20
plt.figure()
plt.plot([0,0],[-1,1], lw=lineWidth, c='b')
plt.plot([-1,1],[-1,1], lw=lineWidth, c='r')
plt.plot([-1,1],[1,-1], lw=lineWidth, c='g')
plt.show()
这将产生以下结果:
如何指定层的自上而下顺序,而不是让Python为我选择?
3条答案
按热度按时间ttcibm8c1#
我不知道为什么
zorder
会有这样的行为,这可能是一个bug,或者至少是一个文档记录不好的特性。(比如网格、轴等等......),而当你试图为元素指定zorder
时,你会以某种方式重叠它们。为了解决你的问题,你可以把
zorder
中的差异放大,比如把0,1,2
改成0,5,10
:结果是:
对于这个图,我指定了与您的问题相反的顺序。
oxalkeyp2#
虽然Tonechas的默认顺序是基于调用绘图的顺序从后到前是正确的,但应该注意的是,使用其他绘图工具(散点图、误差条等)时,默认顺序并不清晰。
dced5bon3#
这些层将按照相应的plot函数调用顺序从下到上堆叠。
从下图中可以清楚地看出,图是按照底部优先,顶部最后规则排列的。