获取Jupyter Notebook中使用Matplotlib绘制的所有地物的列表



我正在使用Jupyter Notebook进行数据分析,其中我需要在单独的单元格中一个接一个地绘制几个数字

例如,假设我有15个数字,如下所示:

fig1 = plt.figure(...)
plt.barh(...)

fig2 = plt.figure(...)
plt.subplot(1,2,1)
plt.barh(...)
plt.subplot(1,2,2)
plt.barh(...)

fig15 = plt.figure(...) 
plt.barh(...)

如何获得这些人物名称的列表?像这样:

[fig1, fig2, ...., fig15]

p.S:我已经尝试过fig_nums = plt.get_fignums(),它返回一个空列表:(

plt.get_fignums()不返回任何结果,因为您不是在创建图形,至少不是直接创建图形。plt.barh()返回一个容器。如果你想跟踪你的数字,请使用

fig1 = plt.figure()
ax1 = plt.barh(...)
...

然后plt.get_fignums()返回用plt.figure()创建的数字列表。

如果这不是您想要的,最简单的方法是将所有fig#存储在list

figures = []
fig1 = plt.barh(...)
figures.append(fig1)
...
``

我也发现了这个变通方法,它似乎对jupyter有所帮助:

fig_list = [f for f in globals() if 'Figure' in str(type(globals()[f]))]
print(fig_list)

最新更新