Python相当于Matlab中的"hold on"

Med*_*ata 45 python matlab graph matplotlib

在Matlab的Python的matplotlib中是否有明确的等效命令hold on?我试图在同一轴上绘制所有图形.一些图表是一个内部产生for循环,而这些是从单独绘制susl:

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)

Alv*_*tes 39

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()
Run Code Online (Sandbox Code Playgroud)

  • 注意:对于命令行的交互式输入,这不起作用.如果在脚本中运行,则工作正常. (3认同)

map*_*psa 20

您可以使用以下内容:

plt.hold(True)
Run Code Online (Sandbox Code Playgroud)

  • 不推荐使用此功能,这样的替代解决方案是什么? (10认同)
  • @Jyotirmay matplotlib 中的hold 函数没有任何用途,因此已被弃用。pyplot 总是表现得好像 `hold` 无论如何都设置为 True。 (2认同)

fre*_*ude 11

hold on 默认情况下,该功能已打开matplotlib.pyplot.因此,每次plt.plot()plt.show()绘图添加到绘图之前唤起它.plt.plot()在功能之后启动plt.show()导致重绘整个画面.