如何从 matplotlib 中的 AxesSubplot 对象获取 BarContainer 对象?

Kri*_*der 4 python plot matplotlib bar-chart pandas

我对 matplotlib 相当陌生,但据我了解:

fig,ax = plt.subplot()
ax.bar(x,y) 
Run Code Online (Sandbox Code Playgroud)

或者

bar = ax.bar(x,y)
Run Code Online (Sandbox Code Playgroud)

返回一个 BarContainer 类型对象。由此我们可以获得bar.axes绘制该图的轴 ax 。

但是如果我们有一个轴ax并且我们没有显式地将条形图存储在bar对象中怎么办?现在我们继续对轴进行大量更改ax,如ax.position ax.legend等。现在我们有一个AxesSubplot类型对象ax......从中,我们如何提取我们的BarContainer类型对象?

我有一个接受可订阅BarContainer对象的函数,在处理结束时我只有一个AxesSubplot类型对象...我不知道如何从另一个对象中获取一个对象..我们可以获取艺术家、标签、轴等等等,但我看不出有什么办法可以从中AxesSubplot获取类型对象。Container请帮忙,谢谢!

Dav*_*idG 5

您可以使用以下命令获取轴中所有容器的列表ax.containers

fig, ax = plt.subplots()
ax.bar(x, y) 

con = ax.containers
print(con)
# [<BarContainer object of 3 artists>]
Run Code Online (Sandbox Code Playgroud)