获取使用Jupyter Notebook中的Matplotlib绘制的所有图形的列表

sczxawaw  于 2023-03-19  发布在  其他
关注(0)|答案(2)|浏览(161)

我正在使用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()了-它返回一个空列表:(

6qqygrtg

6qqygrtg1#

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)
...
``
wnrlj8wa

wnrlj8wa2#

我还发现这个变通方案似乎对jupyter有帮助:

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

相关问题