首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在matplotlib中使用zorder?

如何在matplotlib中使用zorder?
EN

Stack Overflow用户
提问于 2021-04-25 08:48:25
回答 1查看 133关注 0票数 2

我正在尝试理解一些代码,在代码中,zorder有时设置为-1,其他时间设置为100。我很困惑zorder是做什么的,我试着阅读了文档,但我仍然不明白。

提前感谢

EN

回答 1

Stack Overflow用户

发布于 2021-04-25 09:08:12

zorder指定绘图的各个组件相互叠加的顺序。考虑下面的代码和相应的图表。请注意死亡率线图是如何显示为两个条形图上的前层的:

代码语言:javascript
运行
复制
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顺序越大,绘制的“前面”图就越多。

代码语言:javascript
运行
复制
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)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67248771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档