kde*_*as_ 9 python matplotlib ptvs
我是新手,为我的Python代码使用PTVS.我之前使用过Spyder和Anaconda发行版一起使用.这是我遇到的问题.
我正在尝试创建两个图,并在同一时间在单独的窗口中显示它们.一个简单的例子是.
import matplotlib.pyplot as plt
plt.plot([1,2,3,4,5])
plt.show()
plt.plot([2,2,2,2,2])
plt.show()
Run Code Online (Sandbox Code Playgroud)
但除非我关闭第一个情节,否则第二个情节不会出现.类似地,对于更大的脚本,如果我不关闭绘图,则plt.show()之后的其余代码块不会执行.我尝试执行没有调试,它不起作用.但是,当我在Ipython交互式窗口中运行相同的代码时,所有代码都会执行,我可以看到这两个图都是内联的,但它不是我想要的.我希望所有代码能够在不同窗口中根据需要运行创建尽可能多的绘图而不会中断,例如关闭其余代码运行的绘图.我仍然可以在Spyder中做到这一点,但我想完全切换到Visual Studio,这个问题让我烦恼.
任何帮助,将不胜感激.提前致谢.
现在我不知道这在VS中是如何工作的,但每当我必须在交互式窗口中制作多个图(不保存它们)并且我想将它们全部显示在一起时这就是我所做的:
fig, ax = plt.subplots()
ax.plot([1,2,3,4,5])
fig1, ax1 = plt.subplots()
ax1.plot([1,2,3,4,5])
plt.show()
Run Code Online (Sandbox Code Playgroud)
请注意,你会被困在原地之后(仍然)plt.show().要拥有一个不会妨碍其余代码的交互式窗口,您必须使用IPython或其他一些能够实现异步绘图和计算的工具.但是直接从Python解释器,你将不得不等到你终止该行.
此外,您可以通过plt.ion() 先做其他事情来打开交互模式.这样可以直接查看您的绘图,在您发出与其相关的命令后,该绘图会更新.
我相信这是你正在寻找的实际命令.这是手册
小智 6
我还没有在 Visual Studio 中这样做过,但是使用 Matplotlib,您可以使用非阻塞调用show. 该draw方法不会阻塞,但如果您不通过执行 a 来结束调用,show则图形窗口将立即关闭。
import matplotlib.pyplot as plt
plt.figure(1)
plt.plot([1,2,3,4,5])
plt.show(block=False)
# Create a new figure to show the extra information.
# http://matplotlib.org/users/pyplot_tutorial.html#working-with-multiple-figures-and-axes
plt.figure(2)
plt.plot([2,2,2,2,2])
plt.show()
Run Code Online (Sandbox Code Playgroud)
这是关于同一主题的相关问题。
我个人使用subplots如matplotlib示例中所示。
| 归档时间: |
|
| 查看次数: |
19078 次 |
| 最近记录: |