cha*_*com 5 python matlab plot numpy matplotlib
我已经使用 Matlab/octave 很长时间了,我正在过渡到 NumPy/SciPy。我发现matplotlib与Matlab中的图形绘制非常相似,并且易于使用。
但是,我对 matplotlib 感到不舒服的一件事是,当我使用 绘制图形时plt.show(),过程会卡在那里,因此我无法键入任何新命令,也无法在关闭该窗口之前启动另一个窗口来绘制另一个图形。例如,如果我们键入以下代码,则在关闭此窗口之前,我们不能键入任何新命令,也不能为另一个绘图启动另一个窗口。
import matplotlib.pyplot as plt
plt.plot([1,2,3,4])
plt.ylabel('some numbers')
plt.show()
Run Code Online (Sandbox Code Playgroud)
这种行为与 Matlab 绘图非常不同。在 Matlab 交互模式下,我们可能有多个图形窗口。
我们可以在python交互模式下做同样的事情吗?
小智 4
在 IPython 中,运行%matplotlib可以启用 matplotlib 交互式支持,而无需将任何内容导入交互式命名空间。然后运行 plt.figure() 立即打开一个新的绘图窗口,plt.imshow() 用图像填充它,并且 plt.plot() 对表格数据执行相同的操作,所有这些都不会阻止控制台交互。
启用 matplotlib 交互模式后,可以运行 plt.show() 并且即使不设置 block=False 也不会阻止任何内容,这会导致 IPython 在非交互模式下致命挂起。
%pylab还启用了 matplotlib 交互式支持,但它加载了太多导入,不推荐。
使用“ %run -i”执行的外部脚本在 IPython 的命名空间中运行,并且如果在那里启用的话将具有交互式绘图支持。
有关 matplotlib 交互模式的更多信息,请参阅什么是交互模式?以及在 IPython 中使用 mathplotlib 进行绘图。
| 归档时间: |
|
| 查看次数: |
2037 次 |
| 最近记录: |