matplotlib 防止在jupyter笔记本中显示情节

disho6za  于 2023-08-06  发布在  其他
关注(0)|答案(7)|浏览(103)

如何防止在Jupyter notebook中显示特定的绘图?我有几个图在一个笔记本电脑,但我希望他们的一个子集被保存到一个文件,而不是显示在笔记本电脑上,因为这大大减慢。
Jupyter notebook的一个最小工作示例是:

%matplotlib inline 
from numpy.random import randn
from matplotlib.pyplot import plot, figure
a=randn(3)
b=randn(3)
for i in range(10):
    fig=figure()
    plot(b)
    fname='s%03d.png'%i
    fig.savefig(fname)
    if(i%5==0):
        figure()
        plot(a)

字符串
正如你所看到的,我有两种类型的图,a和B。我希望a的被绘制和显示,我不希望b的图被显示,我只是希望他们他们被保存在一个文件中。希望这将加快一点的事情,不会污染我的笔记本电脑的数字,我不需要看到。
谢谢你的时间

c3frrgcw

c3frrgcw1#

也许只需要清除轴,例如:

fig = plt.figure()
plt.plot(range(10))
fig.savefig("save_file_name.pdf")
plt.close()

字符串
这不会在inline模式下绘制输出。我不知道它是否真的在清除数据。

6yt4nkrj

6yt4nkrj2#

我能够防止我的数字显示关闭交互模式使用的功能
plt.ioff()

jgovgodb

jgovgodb3#

为了防止任何输出从jupyter笔记本细胞你可以启动细胞与

%%capture

字符串
这在这里显示的所有其他方法都失败的情况下可能是有用的。

2vuwiymt

2vuwiymt4#

从IPython 6.0开始,有另一个选项可以关闭内联输出(临时或永久)。这已经被引入in this pull request
您可以使用“agg”后端不显示任何内联输出。

%matplotlib agg

字符串
看起来,如果你先激活了内联后端,这需要调用两次才能生效。

%matplotlib agg
%matplotlib agg


下面是它在实际应用中的样子


的数据

nbysray5

nbysray55#

在Jupyter 6.0上,我使用以下代码片段选择性地不显示matplot库图。

import matplotlib as mpl

...

backend_ =  mpl.get_backend() 
mpl.use("Agg")  # Prevent showing stuff

# Your code

mpl.use(backend_) # Reset backend

字符串

wixjitnu

wixjitnu6#

我是一个初学者,虽然,关闭内联模式,当你不想看到你的笔记本电脑的输出:

%matplotlib auto

字符串
或者:

%matplotlib


使用它回来:

%matplotlib inline


更好的解决方案是用途:

plt.ioff()


这表示内联模式关闭。
希望能有所帮助。

sh7euo9m

sh7euo9m7#

基于@importanceofbeingernest的答案,可以在循环中调用某个函数,并且在每次迭代中,想要呈现一个图。但是,在每个图之间,您可能需要渲染其他内容。
具体而言:
1.迭代ID列表
1.调用一个函数,以便为每个“ID”呈现一个图
1.在每个情节之间,渲染一些标记

# <cell begins>
def render(id):
   fig, axes = plt.subplots(2, 1)
   plt.suptitle(f'Metrics for {id}')

   df.ColA.plot.bar(ax=axes[0])
   df.ColB.plot.bar(ax=axes[1])

   return fig

# <cell ends>

# -------------------------------------

# <cell begins>
%matplotlib agg

for id in df.ID.value_counts().index:
   fig = render(id)

   display(fig)
   display(Markdown('---'))

# <cell ends>

字符串

相关问题