python - 从调试器渲染 matplotlib 图

标签 python matplotlib

无法获得以下代码来完成所有三件事:

  1. 在调试断点处停止
  2. 渲染图形
  3. 将控制权返回到控制台并呈现图形(在调试器模式下)
import matplotlib.pyplot as plt
from ipdb import set_trace

fig, ax = plt.subplots()
ax.plot(range(10))
plt.show()
set_trace()

同时执行所有这三件事的用例是在需要 matplotlib 可视化信息的模块内部进行调试。

从控制台以 ipython --pylab 运行 IPython仅完成上述(1)和(3),如下所示。使用 plt.ion()在代码中做同样的事情。调试器可用,但可视化效果不会呈现。 enter image description here

从控制台运行 IPython 就像 ipython ,或运行 python <script.py> ,只完成上面的(1)和(2),如下图。可视化已呈现,但调试器不可用。 enter image description here

现在我正在使用 python 3.7.7 , matplotlib 3.1.3Qt5Agg后端,ipython 7.13.0 , 和 ipdb 0.12.3 .

最佳答案

如果使用 ion() 启用交互模式,你可以在运行时实现它 python <script.py> .它将在 plot 之后立即显示绘图(通过调用绘图)并将控制权交还给位于 set_trace 的控制台.

import matplotlib.pyplot as plt
from ipdb import set_trace

# Enable interactive mode
plt.ion() 
fig, ax = plt.subplots()
# Shown immediately
ax.plot(range(10))
set_trace()

关于python - 从调试器渲染 matplotlib 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61111129/

相关文章:

python - 在排序和旋转的数组中找到最小元素

python - 删除数据框中每行列中字符串中的重复单词

python - 结合Matplotlib和Pandas时对fig、ax、plt的理解

python - Matplotlib - 在 x 轴上隐藏特定刻度

python-3.x - 分别设置两个直方图的颜色有问题

javascript - 在 JavaScript 中反序列化字典的 JSON 列表

python - CPython的静态对象地址和碎片

python - 将 Pandas 导入 Python

python - 在 matplotlib 中为 3d 箭袋图添加颜色

python - 如何在pylab(pyplot)中使用阶梯线(阶梯曲线)填充两种不同颜色的区域?