是否可以有多个 PyPlot 窗口?或者我仅限于次要情节?

发布于 2024-11-07 13:14:31 字数 101 浏览 6 评论 0原文

我不知道如何更清楚地表达我的问题。基本上,PyPlot 是否仅限于一个实例/窗口?我尝试的任何黑客或解决方法要么导致我的程序冻结,要么导致第二个 pyplot 窗口排队直到第一个窗口关闭。

I'm not sure how to word my question more clearly. Basically, is PyPlot limited to one instance/window? Any hack or workaround I try either causes my program to freeze or for the second pyplot window to be queued until the first one is closed.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

断舍离 2024-11-14 13:14:31

当然,只需打开一个新图形:

import matplotlib.pyplot as plt

plt.plot(range(10))

plt.figure()
plt.plot(range(10), 'ro-')

plt.figure(), plt.plot(...)

plt.show() # only do this once, at the end

如果您在默认的 python 解释器中运行它,则这将不起作用,因为每个图形都需要进入 gui 的主循环。如果您想在交互式 shell 中运行,请查看 IPython。如果你只是正常运行它(即将它放入一个文件并调用 python filename.py),它会工作得很好。

Sure, just open a new figure:

import matplotlib.pyplot as plt

plt.plot(range(10))

plt.figure()
plt.plot(range(10), 'ro-')

plt.figure(), plt.plot(...)

plt.show() # only do this once, at the end

If you're running this in the default python interpreter, this won't work, as each figure needs to enter the gui's mainloop. If you want to run things in an interactive shell, look into IPython. If you just run this normally (i.e. put it into a file and call python filename.py) it will work fine, though.

喜你已久 2024-11-14 13:14:31

使用 plt.figure() 并使用某个数字来固定窗口:

plt.figure(200)
plt.plot(x)
plt.show()

对于另一个绘图,使用不同的数字:

plt.figure(300)
plt.plot(y)
plt.show()

Use plt.figure() and use a certain number so that the window is fixed:

plt.figure(200)
plt.plot(x)
plt.show()

and for another plot, use a different number:

plt.figure(300)
plt.plot(y)
plt.show()
浅紫色的梦幻 2024-11-14 13:14:31

你的问题的答案是否定的。您可以拥有任意数量的窗口。首先,只需输入

plt.figure(n) #n must be a different integer for every window

您想要的每个新数字。其次,

plt.show()

在您想要绘制的所有内容的末尾只写一次(!)。这是两个直方图的示例:

plt.figure(1)
plt.hist(dataset1)
plt.figure(2)
plt.hist(dataset2)
plt.show()

The answer to your question is no. You can have as many windows as you want. Firstly, just type

plt.figure(n) #n must be a different integer for every window

for every new figure you want. Secondly, write

plt.show()

only once (!) at the end of everything you want to plot. Here is an example for two histograms:

plt.figure(1)
plt.hist(dataset1)
plt.figure(2)
plt.hist(dataset2)
plt.show()
画尸师 2024-11-14 13:14:31

您可以使用 pyplot.show 属性来完成此操作

示例:

plt.show(block=False)

You can do it with the pyplot.show properties

Example:

plt.show(block=False)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文