在colaboratory上使用plt.savefig保存数据

AQE*_*TAF 4 python matplotlib jupyter-notebook

我正在使用协作(在线jupyter笔记本),我有以下代码,我正在使用此功能绘制一些图形,并想在本地保存图形,我该怎么做?

def make_plot_comparison(Xlabel,Ylabel,l1,l2,l1_title,l2_title,name): 
    plt.xlabel(Xlabel)
    plt.ylabel(Ylabel)
    plt.plot(l1,label=l1_title)
    plt.plot(l2,label=l2_title)
    plt.legend(loc='center right')
    plt.title(name)
    #plt.xlim(-5, 25)
    plt.savefig("abc.png")
    plt.show()
Run Code Online (Sandbox Code Playgroud)

Sal*_*lli 8

正如另一个答案中提到的,files.download如果您想创建图像文件并即时下载,该功能是完美的解决方案。但是,如果您实际上并不需要下载该文件,而只想将图像存储到您的 Google Drive 帐户中的一个目录中呢?也许您正在生成大量这样的文件(例如,在耗时的机器学习工作中的中间结果)而您无法一个一个地下载每个文件。

在这种情况下,我采用的解决方案也可能对您有所帮助。首先,让我们在运行时挂载 Google Drive。

# mount drive
from google.colab import drive
drive.mount('/content/gdrive')
Run Code Online (Sandbox Code Playgroud)

笔记:您可以在笔记本的开头执行此操作,然后在整个会话中忘记它,当然无需对每个图像都执行此操作!

安装 Google Drive 后,您现在可以将图像文件(或您希望的任何其他文件)存储在 Drive 中您选择的任何目录中,例如:

images_dir = '/content/gdrive/My Drive/Images'
plt.savefig(f"{images_dir}/abc.png")
Run Code Online (Sandbox Code Playgroud)


이성령*_*이성령 5

maybe it can save the picture independently

from google.colab import files
plt.savefig("abc.png")
files.download("abc.png") 
Run Code Online (Sandbox Code Playgroud)

https://colab.research.google.com/notebook#fileId=/v2/external/notebooks/io.ipynb&scrollTo=p2E4EKhCWEC5