Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/284.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在ipython笔记本中重新加载图像?_Python_Jupyter Notebook - Fatal编程技术网

如何在ipython笔记本中重新加载图像?

如何在ipython笔记本中重新加载图像?,python,jupyter-notebook,Python,Jupyter Notebook,在我的笔记本中,我可以在同一文件夹中以标记方式显示图像,如下所示: <img src="files/adaptive_filter.png" alt="Schema of adaptive filter" height="100"> 如果我在src中使用的代码没有文件/,它将不起作用 现在我更改了图像,ipython笔记本仍然显示原来的图像。我试图将其从代码中删除并重新启动笔记本,但没有任何帮助 我该怎么办?图像是否存储在某个地方 提前感谢。我也遇到了这个问题,当时我使用自己

在我的笔记本中,我可以在同一文件夹中以标记方式显示图像,如下所示:

<img src="files/adaptive_filter.png" alt="Schema of adaptive filter" height="100"> 

如果我在
src
中使用的代码没有
文件/
,它将不起作用

现在我更改了图像,ipython笔记本仍然显示原来的图像。我试图将其从代码中删除并重新启动笔记本,但没有任何帮助

我该怎么办?图像是否存储在某个地方


提前感谢。

我也遇到了这个问题,当时我使用自己的一个类来输出一些python绘图,并将它们嵌入到IPython笔记本中。解决这个问题的黑客方法是在图像url的末尾添加一个随机参数。比如说

<img src="files/adaptive_filter.png?1" alt="Schema of adaptive filter" height="100">

不会缓存在与相同的位置

<img src="files/adaptive_filter.png?2" alt="Schema of adaptive filter" height="100">

实现这一点的编程方法是通过python包含图片,而不是标记,例如:

# pick a random integer with 1 in 2 billion chance of getting the same
# integer twice
import random
__counter__ = random.randint(0,2e9)

# now use IPython's rich display to display the html image with the
# new argument
from IPython.display import HTML, display
display(HTML('<img src="files/adaptive_filter.png?%d" ' +
             'alt="Schema of adaptive filter" ' +
             'height="100">' % __counter__))
#选择一个随机整数,其概率为20亿分之一
#两次整数
随机输入
__计数器\uuu9=random.randint(0,2e9)
#现在使用IPython的富显示来显示html图像
#新论点
从IPython.display导入HTML,显示
显示(HTML(“”%\uuuuuu计数器)

应该在每次运行代码单元格时更新图像

我遇到了完全相同的问题。以下程序适用于我:

在.ipynb文件所在的文件夹中,有一个名为.ipynb_checkpoints/的缓存目录。该缓存目录中应该有一个与您正在处理的文件名相同的文件。现在移除/删除.ipynb_checkpoint/目录中的缓存文件,然后重新加载浏览器。您应该能够看到更新的图像

我的环境:macOS 10.14.2、Chrome浏览器71.0和通过anaconda安装的Jupyter 1.0.0

希望这有帮助

  • 在ipynb文件目录中,使用
    ls
    命令,它将显示一个隐藏的 directory.ipynb_检查点

  • 删除.ipynb_checkpoints目录,然后重新运行单元格 代码,您将看到最新的图像


  • 在使用
    matplotlib.pyplot
    时,我遇到了在jupyter中缓存图像以及在修改文件时不更新图像的相同问题。我用电脑把它修好了

    从IPython.display导入图像
    def saveImage(路径,show=True):
    plt.savefig(路径,facecolor=“白色”,bbox_inches='tight')
    如果显示:返回图像(路径)
    
    然后在代码单元格的末尾,类似于
    saveImage('./someImage.png')
    的内容将保存并显示图像

    类似地,
    Image('./someImage.png')
    将显示来自磁盘的图像(不保存)

    这似乎可以避免缓存问题,并且图像可以正确地以PDF导出的形式显示(请参见本文的答案)


    在我的例子中,它有助于减小jupyter笔记本的大小,防止它在呈现和更新
    matplotlib.pyplot
    图表时崩溃。

    您的浏览器可能正在缓存它-尝试刷新页面。这没有帮助。我已多次执行硬刷新。您可能还需要手动清除浏览器中的缓存图像。例如,在Chrome(85.0版)中,使用“更多工具>清除浏览数据”。