在 Python 调试时绘制函数图形

7

我曾经在Matlab工作过,对于使用plot函数可视化调试过程中的中间结果(尤其是在处理大数组/矩阵和嵌套函数时)非常方便。

但在Python中,无法在调试模式下绘制任何图形:绘图窗口从未加载(我使用Spyder IDE编码和matplotlib.pyplot进行绘图)。

当调试嵌套函数和类时,这真的很烦人。有人知道一个好的解决方案吗?当然,我可以始终输出中间结果,但这并不方便。

谢谢, Mikhail


1
你知道Jupyter笔记本吗:https://jupyter.org/? - xdze2
1
我不知道任何解决方案。但是我想提一下,即使在调试时,我从来没有使用过调试模式。相反,使用“print”语句完全可以找出脚本的当前状态。 - ImportanceOfBeingErnest
感谢建议。我确实使用Jupyter笔记本,但我更喜欢Spyder。@ImportanceOfBeingErnest你是如何使用print语句的?在调试模式下的命令行中吗?当使用大型向量(比如N=1000)时,可视化更方便。 - Mikhail Genkin
1
我的意思是,在非调试模式下,您可以轻松地在脚本的任何位置绘制任何您喜欢的内容,就像使用打印语句一样。 - ImportanceOfBeingErnest
1
如果您调用 plt.show(),脚本会自动停止,直到您关闭图形。您还可以触发任何错误,让脚本停止,例如 assert False - ImportanceOfBeingErnest
显示剩余2条评论
1个回答

9

好的,我找到了一种方法可以在不中断调试过程的情况下显示图形。

你只需要发出plt.pause(1)命令,这将显示图形,然后就可以继续调试过程。


我很好奇你是怎么找到这个的? - Angelos
1
@Angelos 通过尝试和错误来实现。 - Mikhail Genkin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接