pyplot 直到代码结束才会绘制 [重复]
Posted
技术标签:
【中文标题】pyplot 直到代码结束才会绘制 [重复]【英文标题】:pyplot won't plot until end of code [duplicate] 【发布时间】:2017-02-22 11:33:25 【问题描述】:我遇到了一个严重的问题,即 pyplot 直到我的代码结束才显示我的图形。下面的代码是我能想到的一个最简单的例子,它为我重现了这个问题。当 plt.plot(range(10)) 被调用时,会打开一个无响应且空的图形窗口,但在代码结束时(睡眠后)显示图形。时间是 while(True) 循环的占位符,应该从串行设备读取并更新图形,这是不可能的,因为我无法在代码结束之前强制图形绘制。
# -*- coding: utf-8 -*-
import matplotlib.pyplot as plt
import time
plt.plot(range(10))
#plt.show()
plt.draw()
# while loop for computations, simulated by a sleep command
time.sleep(2)
我束手无策。使用后端 Qt4Agg。 操作系统是windows 7,使用python 2.7。
【问题讨论】:
你需要调用 plt.show() ***.com/questions/23141452/… @Rubbal;那对你有用吗?就我而言,plt.show()
或 plt.show(block=False)
直到 time.sleep()
之后才显示图像。
它对我有用。我在 python 2.7,OSX 上。
【参考方案1】:
https://***.com/a/24272092/2555211
这个解决方案对我来说效果很好。我希望 canvas.flush_events() 是缺少的。
【讨论】:
以上是关于pyplot 直到代码结束才会绘制 [重复]的主要内容,如果未能解决你的问题,请参考以下文章
使用matplotlib / pyplot混合线条颜色绘制曲线
按目标改进散点图的“matplotlib.pyplot”语法[重复]
使用 Google Colaboratory 时未显示图表 [重复]