在jupyter笔记本上打开许多matplotlib交互式绘图时,如何管理内存?

m1m5dgzv  于 2021-08-25  发布在  Java
关注(0)|答案(0)|浏览(242)

我正在寻找方法来可视化和访问我以前用Pandas创建的新数据库。
为了做到这一点,我考虑使用jupyter笔记本制作一个交互式文件,在该文件中,您可以通过以下方式缩放图形并使用鼠标获取坐标(使用jupyter笔记本):


# engine used to create interactive plots, use inline for static image.

%matplotlib nbagg

import matplotlib.pyplot as plt

data = {'apple': 10, 'orange': 15, 'lemon': 5, 'lime': 20}
names = list(data.keys())
values = list(data.values())

fig, axs = plt.subplots(1, 3, figsize=(9, 3), sharey=True)
axs[0].bar(names, values)
axs[1].scatter(names, values)
axs[2].plot(names, values)
fig.suptitle('Categorical Plotting')

plt.show()

fig, ax = plt.subplots()
pp1 = mpatches.PathPatch(
    Path([(0, 0), (1, 0), (1, 1), (0, 0)],
         [Path.MOVETO, Path.CURVE3, Path.CURVE3, Path.CLOSEPOLY]),
    fc="none", transform=ax.transData)

ax.add_patch(pp1)
ax.plot([0.75], [0.25], "ro")
ax.set_title('The red point should be on the path')

plt.show()

我的问题是,我在笔记本中生成了很多图形(大约150到200个),我正在寻找一种管理内存的方法,这样人们在打开交互式文档时就不会使用太多的内存。
也许有一种方法可以在未“看到”的情况下卸载绘图(又称不在屏幕上)?
使用 plt.save() 然后 plt.close() 这对我来说不起作用,因为我希望人们能够与图形交互。

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题