在Matlab的Python的matplotlib中是否有明确的等效命令hold on?我试图在同一轴上绘制所有图形.一些图表是一个内部产生for循环,而这些是从单独绘制su和sl:
import numpy as np
import matplotlib.pyplot as plt
for i in np.arange(1,5):
z = 68 + 4 * np.random.randn(50)
zm = np.cumsum(z) / range(1,len(z)+1)
plt.plot(zm)
plt.axis([0,50,60,80])
plt.show()
n = np.arange(1,51)
su = 68 + 4 / np.sqrt(n)
sl = 68 - 4 / np.sqrt(n)
plt.plot(n,su,n,sl)
plt.axis([0,50,60,80])
plt.show()
Run Code Online (Sandbox Code Playgroud) 我试图弹出一个情节,以便用户可以确认一个合适的工作,但不会挂断整个过程.但是,当窗口出现时,它中永远不存在任何内容,并且它是"无响应".我怀疑与子进程功能的交互不良,因为这个代码是前端的,并且模拟的数据处理是在C++中运行的.
import subprocess
import numpy as np
from matplotlib import pyplot as mpl
...
mpl.ion()
fig = mpl.figure()
ax = fig.add_subplot(1,1,1)
ax.grid(True)
ax.plot(x, y, 'g')
ax.scatter(X, Y, c='b')
ax.scatter(min_tilt, min_energy, c='r')
mpl.draw()
...
subprocess.call(prog)
Run Code Online (Sandbox Code Playgroud)
以下子进程确实打开.如果我删除了ion()呼叫并使用mpl.show(),那么绘图工作正常,但整个过程都会保持到窗口关闭为止.我需要在用户查看图表时继续该过程.有没有办法做到这一点?