web-dev-qa-db-ja.com

Python Matlabの 'hold on'と同等

PythonのmatplotlibにMatlabの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()
42

最後にplt.show()を呼び出すだけです:

import numpy as np
import matplotlib.pyplot as plt

plt.axis([0,50,60,80])
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)    

n = np.arange(1,51)
su = 68 + 4 / np.sqrt(n)
sl = 68 - 4 / np.sqrt(n)

plt.plot(n,su,n,sl)

plt.show()
39
Alvaro Fuentes

以下を使用できます。

plt.hold(True)
20
mapsa

hold on機能は、matplotlib.pyplotでデフォルトでオンになっています。したがって、plt.plot()の前にplt.show()を呼び出すたびに、描画がプロットに追加されます。関数plt.plot()の後にplt.show()を起動すると、画像全体が再描画されます。

10
freude

pyplotドキュメントを確認してください。完全を期すために、

import numpy as np
import matplotlib.pyplot as plt

#evenly sampled time at 200ms intervals
t = np.arange(0., 5., 0.2)

# red dashes, blue squares and green triangles
plt.plot(t, t, 'r--', t, t**2, 'bs', t, t**3, 'g^')
plt.show()
0
chandresh