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 时未显示图表 [重复]

Android studio自动horizo​​ntalscrollview无限滚动直到结束然后重复

循环 2 个列表,重复最短直到最长结束