matplotlib 如何在一个窗口中显示绘图

rggaifut  于 2023-10-24  发布在  其他
关注(0)|答案(1)|浏览(152)

我想在一个窗口中显示绘图,而不是每次运行PyQT脚本时打开另一个窗口。
下面是我的代码:

  1. fig2 = plt.figure()
  2. ax2 = fig2.add_subplot(111, aspect='equal')
  3. ax2.add_patch(
  4. patches.Circle(
  5. (x1, y1),
  6. r1,
  7. fill=False
  8. )
  9. )
  10. ax2.add_patch(
  11. patches.Circle(
  12. (x2, y2),
  13. r2,
  14. fill=False
  15. )
  16. )
  17. ax2.add_patch(
  18. patches.Circle(
  19. (x3, y3),
  20. r3,
  21. fill=False
  22. )
  23. )
  24. plt.plot([x_centroid], [y_centroid], 'ro')
  25. plt.show()

每当我改变我的变量,新的窗口弹出。我希望它在1个窗口。

0kjbasz6

0kjbasz61#

据我所知,没有简单的方法连接到一个现有的Python进程,一旦它开始运行另一个脚本在这个进程。
您可以选择在交互式会话中工作,例如在IPython中。在那里您可以创建您的绘图并在前进时对其进行操作。
例如

  1. 1: import matplotlib.pyplot as plt
  2. 2: import numpy as np
  3. 3: fig, ax = plt.subplots()
  4. 4: line, = ax.plot([1,3,2])
  5. 5: plt.ion()
  6. 6: plt.show() # shows the figure
  7. 7: line2, = plt.plot([2,2,1]) # inside the figure shows another line
  8. 8: line.remove() # removes the first line from the figure

相关问题