我在Jupyter中使用类似于example here using imshow
的代码绘制混淆矩阵热图Matplotlib设置为绘制内联图。
这适用于输出到笔记本中的单元格,但我希望不输出到单元格,而是获取PNG数据(理想情况下是原始的,不保存到文件中) in这种情况只有,一般情况下(一般情况下我希望matplotlib显示内联)。
我不太清楚该怎么做;我见过的例子似乎是全局性的(例如在导入pyplot之前调用matplotlib.use())。
这可能吗?怎么样?
答案 0 :(得分:2)
关闭互动模式:
http://test.se7en.net.pl/hta.php?id=tits
要重新激活内嵌图像,请使用
plt.ioff()
要将PNG图像保存为字节,而不是文件,请将类似文件的plt.ion()
%matplotlib inline
对象传递给io.BytesIO
而不是文件:
plt.savefig
答案 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()