当前位置: 首页 > 面试题库 >

获取matplotlib中的图形列表

郑锦
2023-03-14
问题内容

我想要:

pylab.figure()
pylab.plot(x)
pylab.figure()
pylab.plot(y)
# ...
for i, figure in enumerate(pylab.MagicFunctionReturnsListOfAllFigures()):
  figure.savefig('figure%d.png' % i)

在pylab中返回当前图形列表的魔术函数是什么?

网络搜索没有帮助…


问题答案:

编辑:正如MattiPastell的解决方案所示,还有一个更好的方法:使用plt.get_fignums()

import numpy as np
import pylab
import matplotlib._pylab_helpers

x=np.random.random((10,10))
y=np.random.random((10,10))
pylab.figure()
pylab.plot(x)
pylab.figure()
pylab.plot(y)

figures=[manager.canvas.figure
         for manager in matplotlib._pylab_helpers.Gcf.get_all_fig_managers()]
print(figures)

# [<matplotlib.figure.Figure object at 0xb788ac6c>, <matplotlib.figure.Figure object at 0xa143d0c>]

for i, figure in enumerate(figures):
    figure.savefig('figure%d.png' % i)


 类似资料:
  • 在使用matplotlib时,如何为直方图绘制平均线(水平)? 现在,我可以毫无问题地绘制直方图。下面是我使用的代码: 我想绘制PAAE 1,2和AAE 1,2的平均线。我应该用什么来绘制平均线?

  • 我正在尝试使用matplotlib创建条形图。 x轴数据是带有年份的列表:[19501960、19701、980、19901、995-2015] y轴数据是一个数量与年数相等的列表。 这是我的代码: 结果是:条与条之间有太多的空间 正如你所看到的,1950-1960年之间的差距是巨大的。我怎么能做到这一点,这样1950-1995年酒吧之间就没有间隙。我知道它的间隔为10年,但看起来并不好。 任何帮

  • 我正在尝试使用Microsoft Graph API访问用户所在的组。我面临一个问题,因为我认为我的权限设置正确,然而,当我登录到应用程序时,我得到的信息是: 有人遇到过这个问题吗? 知道我该怎么纠正吗?

  • 问题内容: 我正在尝试使用创建水平堆叠的条形图,但是我看不到如何使条形实际堆叠,而不是全部从y轴开始。 这是我的测试代码。 看到tcaswell的评论后,编辑使用kwarg。 这似乎是正确的方法,但是如果没有特定条形的数据,则尝试失败,因为它正尝试添加到随后返回的值。 问题答案: 由于您使用的是熊猫,因此值得一提的是,您可以在本地进行堆积条形图: 请参阅 文档的可视化部分。

  • 我正在测试一个图表,除了图例之外的一切都有效。我已经运行了下面的代码,没有在plt.plot中找到的标签,但是我仍然没有得到一个图例返回。有人能看出原因吗?

  • 我正在绘图中绘制多个多边形: 结果图正确地显示了我的多边形,但我想知道哪个多边形对应于图上的哪个索引(例如:绿色多边形是处的多边形)。理想情况下,我想要一个将多边形的颜色与其索引关联起来的图例,但我不知道如何在这样的循环中添加这样的图例。我试过但这不起作用。 多边形的数量是可变的,所以严格分配颜色是不可能的。 如何添加图例?