Python 3.x zorder在matplotlib中是如何使用的?
我试图理解一些代码,在代码中,zorder有时设置为-1,有时设置为100。我很困惑zorder做什么,我试着阅读文档,但还是不明白Python 3.x zorder在matplotlib中是如何使用的?,python-3.x,matplotlib,Python 3.x,Matplotlib,我试图理解一些代码,在代码中,zorder有时设置为-1,有时设置为100。我很困惑zorder做什么,我试着阅读文档,但还是不明白 “提前感谢”zorder指定了绘图的各个组成部分彼此重叠的顺序。考虑下面的代码和相应的图表。注意死亡率线图如何显示为两个条形图上方的前一层: import matplotlib.pyplot as plt import numpy as np months = ["March", "April", "May&qu
“提前感谢”zorder指定了绘图的各个组成部分彼此重叠的顺序。考虑下面的代码和相应的图表。注意死亡率线图如何显示为两个条形图上方的前一层:
import matplotlib.pyplot as plt
import numpy as np
months = ["March", "April", "May", "June", "July", "August"]
cases = [1000, 2000, 5000, 8000, 15000, 6000]
hosp = [n*0.1 for n in cases]
deaths = [n*0.03 for n in cases]
month_indexes = np.arange(len(months))
WIDTH = 0.25
plt.bar(month_indexes - WIDTH, cases, width=WIDTH, color="orange", label="All cases")
plt.bar(month_indexes, hosp, width=WIDTH, color="blue", label="Hospitalizations")
plt.plot(month_indexes + WIDTH, deaths, color="red", label="Deaths")
plt.title("Cases and Mortality")
plt.legend(loc = "upper center", bbox_to_anchor = (0.2, 1.0), fancybox = True, shadow = True)
plt.xticks(month_indexes,months)
plt.ylim(top=max(cases))
plt.show()
现在让我们假设你想把红线移到蓝色条后面,但在橙色条前面。您可以简单地为每个绘图指定一个正或负的zorder。z顺序越大,绘制的“前方”绘图越多
plt.bar(month_indexes - WIDTH, cases, width=WIDTH, color="orange", label="All cases", zorder = 1)
plt.bar(month_indexes, hosp, width=WIDTH, color="blue", label="Hospitalizations", zorder = 3)
plt.plot(month_indexes + WIDTH, deaths, color="red", label="Deaths", zorder = 2)
请记住,除matplotlib外,在许多地方都使用了的概念。如果将页面视为2D,则z顺序确定对象沿z轴在该页面上的位置。位于
z=-1
的项目将显示在位于z=-2
的项目上方。z=50处的项目将位于z=100处的项目下方。