在 Google Colab 平台上的 Jupyter Notebook 中显示/渲染 HTML 文件

Cal*_*tta 13 python google-maps jupyter-notebook google-colaboratory

我正在使用 Google Colab 使用 Python 3.0 创建地图,并且我已经使用 Basemaps 完成了这项工作。我接下来尝试使用谷歌地图创建类似的地图。我找到了两个 python 包,分别是 gmaps 和 gmplot。似乎 gmaps 需要谷歌 API,但 gmplot 不需要,因此我使用的是 gmplot。

使用 gmplot,我可以创建一个文件“my_map.html”,如果我下载到本地桌面,我可以在浏览器中打开并正确查看地图。

但是,我希望在不下载到本地计算机的情况下在笔记本输出单元中查看地图。下图是我尝试过的截图......没有错误,但也没有显示。
截屏

是否有像 %matplotlib 这样的内联命令,我需要执行它才能在输出单元格中显示文件的内容?或者有更好的解决方案

Tal*_*Tal 9

尝试文件的完整路径: /content/my_map.html

代码应该是:

import IPython
IPython.display.HTML(filename='/path/to/your/filename')
Run Code Online (Sandbox Code Playgroud)


小智 6

请尝试以下代码:

from IPython.display import IFrame
IFrame(src='path/to/your/filename.html', width=900, height=600)
Run Code Online (Sandbox Code Playgroud)

它确实对我有用。:)

  • iframe 与仅显示 html 不同。当然,您可能可以从常规 html 访问 iframe,但它与其他选项不同。 (6认同)

小智 5

如果 html 包含位于 colab 或您的(映射的)google-drive 中的图像,则此解决方案对我不起作用:

IPython.display.HTML('<img src="/content/elmo_1.jpg">') # can't find image 
IPython.display.HTML('<img src="/content/gdrive/My Drive/elmo_1.jpg">') # can't find image  
IPython.display.HTML('<img src="/content/gdrive/My%20Drive/elmo_1.jpg">') # can't find image  
Run Code Online (Sandbox Code Playgroud)

但是,它适用于标准 url:

IPython.display.HTML('<img src="https://github.com/blablabla/elmo_1.jpg?raw=1">') 
Run Code Online (Sandbox Code Playgroud)