我正在编写一个 Colab 笔记本来与我的学生分享,所以我想要一个笔记本的副本以在其他 Google 帐户中运行。
我确实在 Colab 的 python/jupyter notebook 中绘制了一些数据并保存了它。喜欢
plt.savefig("Jump1-04.png")
稍后我想在一个单元格中使用这张图片,所以我尝试了各种 Markdown 和/或 HTML 方法来包含这张图片。示例:
!()["Jump1-04.png"]
或者
<img src="/content/Jump1-02.png" />
都没有用。我的困惑是我的代码可以使用 open("Jump1-04.png", 'r')
打开这个文件,所以笔记本代码知道文件保存在哪里,但文本单元格不知道。
!pwd
返回 /content
而 !ls/content
返回 Jump1-04.png
。这就是为什么我尝试将 /content
放在上面的 HTML 代码中。
我想避免 ITB 使用 Google 云端硬盘查找文件、公开共享链接,然后在文本单元格中使用该链接的痛苦。
为什么文本单元不能简单地找到我从代码单元保存的文件?
最佳答案
我也不是 100% 确定您的代码行有什么“不正确”,但我不得不尝试使用 plt.show() 和 plt.imshow(),并且我还将数字定义为最初保存(即“无花果”)所以“fig.savefig()”而不是“plt.savefig()”,这没有太大区别,但根据你的描述这是有效的:
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
fig = plt.figure(figsize = (10, 5), num = 1, clear = True)
ax = plt.subplot(1, 1, 1, xticks = [], yticks = [], frameon = False)
ax.plot(np.arange(0, 10, 1), color = [0, 0.5, 1], lw = 5)
plt.show()
fileName = 'Jump1-04.png'
fig.savefig(fileName)
要打开保存的文件(在稍后的单独单元格中):
import PIL
from PIL import Image
fig = plt.figure(figsize = (10, 5), num = 1, clear = True)
ax = plt.subplot(1, 1, 1, xticks = [], yticks = [], frameon = False)
fileName = 'Jump1-04.png'
thisImage = Image.open(fileName)
thisImage = ax.imshow(thisImage)
plt.show(thisImage)
要解决第一句话,听起来您希望这些图或图像具有公开的 url 链接并且您和您的学生可以访问互联网上的这些图或图像,我还没有找到解决方案;如果/当我这样做时,我会更新。
关于python - Google Colab 在文本框中插入保存的图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69270180/