如何在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 希望这有帮助
ls
命令,它将显示一个隐藏的
directory.ipynb_检查点
在使用
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版)中,使用“更多工具>清除浏览数据”。