Python matplotlib`hold`关键字参数的作用是什么?

Python matplotlib`hold`关键字参数的作用是什么?,python,matplotlib,Python,Matplotlib,hold参数出现在许多绘图函数中,例如plt.fill\u介于之间、plt.arrow、plt.axhline(对于导入matplotlib.pyplot作为plt)。但是,我找不到关于它的任何文档: 附加kwargs:hold=[True | False]覆盖默认的hold状态 对于谷歌来说,这也是一个很难的关键字参数,因为…来自: 当“保持”为真时,后续打印命令将添加到当前轴。当hold为False时,下一个plot命令将清除当前轴和图形 hold的值决定了未来的绘图是在前一个绘图的基础上绘

hold
参数出现在许多绘图函数中,例如
plt.fill\u介于
之间、
plt.arrow
plt.axhline
(对于
导入matplotlib.pyplot作为plt
)。但是,我找不到关于它的任何文档:

附加kwargs:hold=[True | False]覆盖默认的hold状态

对于谷歌来说,这也是一个很难的关键字参数,因为…

来自:

当“保持”为真时,后续打印命令将添加到当前轴。当hold为False时,下一个plot命令将清除当前轴和图形


hold的值决定了未来的绘图是在前一个绘图的基础上绘制的,还是在绘制之前清除了图形。

它似乎基于
MATLAB
的默认绘图,需要调用
hold on
,以便在同一个图形上添加多个绘图。
matplotlib
的默认行为似乎是这样的,请考虑

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,np.pi*2,1000)
plt.plot(x,np.sin(x),hold=True)
plt.plot(x,np.sin(x)**2,hold=True)
plt.show()

在同一个图形上绘制两条线。如果hold设置为false,则下一次打印调用将覆盖上一次调用。比如说,

import numpy as np
import matplotlib.pyplot as plt

x=np.linspace(0,np.pi*2,1000)

plt.plot(x,np.sin(x),hold=True)
plt.plot(x,np.sin(x)**2,hold=False)
plt.show()

@MattDMo第一个结果是,这解释不了什么。但谢谢你的建设性评论。是我一个人,还是Matplotlib能更好地使用Python面向对象的非状态API,而不是我们得到的类似于MATLAB的非Python有状态API?任何人有人吗?不,塞西尔,不只是你。我无法再支持它了+请回复你的评论。我必须承认,这是一个非常强大的库,能够产生出色的结果,但首先是一个非常令人不安的文档,还有一个糟糕的API!!我从“艰难的道路”中学到了这一点,我相信我并不孤单。如果文档能够发出警告并清楚地说明问题,我可以使用(病态的)类似于MATLAB的API。但是文档只是一堆无法阅读的API参数。。。非常难以浏览。