在启用内联matplotlib时,将matplotlib绘图绘制到Jupyter中的PNG

时间:2016-02-02 20:35:33

标签: python matplotlib jupyter-notebook

我在Jupyter中使用类似于example here using imshow

的代码绘制混淆矩阵热图

Matplotlib设置为绘制内联图。

这适用于输出到笔记本中的单元格,但我希望输出到单元格,而是获取PNG数据(理想情况下是原始的,不保存到文件中) in这种情况只有,一般情况下(一般情况下我希望matplotlib显示内联)。

我不太清楚该怎么做;我见过的例子似乎是全局性的(例如在导入pyplot之前调用matplotlib.use())。

这可能吗?怎么样?

2 个答案:

答案 0 :(得分:2)

关闭互动模式:

http://test.se7en.net.pl/hta.php?id=tits

要重新激活内嵌图像,请使用

plt.ioff()

要将PNG图像保存为字节,而不是文件,请将类似文件的plt.ion() %matplotlib inline 对象传递给io.BytesIO而不是文件:

plt.savefig

enter image description here

答案 1 :(得分:2)

不以内联方式显示绘图的一种简单方法是在单元格的末尾使用plt.close()

import matplotlib.pyplot as plt
%matplotlib inline

plt.plot([1,2,3],[1,2,3])
plt.savefig("image.png")
plt.close()