Google Colab中matplotlib.pyplot多figure输出如何添加间隔
问题解决方法
原因说明
Google Colab 默认会对标准输出流(print内容)和matplotlib绘图结果分开缓存,整块代码运行完成后会先输出所有打印内容,再按顺序输出所有绘图,因此直接在绘图代码中间加print无法实现内容穿插、分隔图片的效果。
解决方案
使用IPython内置的display接口主动控制内容输出顺序,配合plt.show()主动渲染当前绘图,可实现自定义间隔效果:
步骤1:导入依赖
import matplotlib.pyplot as plt from IPython.display import display, HTML
步骤2:调整绘图代码
每段绘图完成后先调用plt.show()输出当前图像,再通过display插入自定义间隔内容:
# 第一幅图 plt.figure(figsize=(15,15)) for n in range(start, end) : plt.subplot(4,4,n+1) plt.imshow(data1[n]) plt.axis('off') plt.show() # 插入自定义间隔:可调整height数值控制间隔高度,也可替换为HTML("<hr>")显示分隔线 display(HTML("<div style='height: 60px;'></div>")) # 第二幅图 plt.figure(figsize=(15,15)) for n in range(start, end) : plt.subplot(4,4,n+1) plt.imshow(data2[n]) plt.axis('off') plt.show() display(HTML("<div style='height: 60px;'></div>")) # 第三幅图 plt.figure(figsize=(15,15)) for n in range(start, end) : plt.subplot(4,4,n+1) plt.imshow(data3[n]) plt.axis('off') plt.show()
如果需要插入文字说明作为分隔,可直接替换display内的内容:
# 插入文字分隔示例 display(HTML("<p>===== 以下为第二组数据可视化结果 =====</p>"))
内容的提问来源于stack exchange,提问作者ZoZoZo
相关产品推荐
相关产品推荐

