Есть ли явная эквивалентная команда в 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()
Просто позвоните 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()
Вы можете использовать следующее:
plt.hold(True)
Функция hold on
включена по умолчанию в matplotlib.pyplot
. Поэтому каждый раз, когда вы вызываете plt.plot()
до plt.show()
, рисунок добавляется в график. Запуск plt.plot()
после того, как функция plt.show()
приведет к перерисовке всего изображения.
plt.hold(True)
?