Python 是否可以更新.fill_betweenx()参数?怎么用?

Python 是否可以更新.fill_betweenx()参数?怎么用?,python,matplotlib,Python,Matplotlib,我知道,可以通过将绘图艺术家与.set_xdata()和.set_ydata()一起使用来更新绘图的x和y值 可以用做类似的事情吗?fill_betweenx()来更新它的参数(y,x1,x2和where),以避免清除轴并再次绘制它?这有点像是一个黑客,对于PolyCollection有一个set\u path方法,该方法在返回之间fill\u,但它似乎不起作用。必须直接将新的路径分配给\u路径: from matplotlib.path import Path x = [0,2,3,4,5]

我知道,可以通过将绘图艺术家与
.set_xdata()
.set_ydata()
一起使用来更新绘图的x和y值


可以用
做类似的事情吗?fill_betweenx()
来更新它的参数(
y,x1,x2
where
),以避免清除轴并再次绘制它?

这有点像是一个黑客,对于
PolyCollection
有一个
set\u path
方法,该方法在
返回之间
fill\u,但它似乎不起作用。必须直接将新的
路径
分配给
\u路径

from matplotlib.path import Path

x = [0,2,3,4,5]
y = [1,4,5,6,7]
z = [4,5,6,7,8]
PC = plt.fill_between(x, y, z)
PC._paths = [Path(np.vstack([[1,1,2,3,4,5,5,5,4,3,2,1,1],
                             [4,3,4,5,6,7,8,8,7,6,5,4,4]]).T,
                   np.array([1,2,2,2,2,2,2,2,2,2,2,2,9]))]
以前

之后


您可能需要
设置路径
,但它不太可能像更新
绘图
实例那样简单。我不知道一种简单的方法可以做到这一点。到目前为止,我想到的最好方法是使用
remove
方法仅从绘图中删除
fill\u-between
艺术家,然后重新绘制
fill\u-between
。至少,它没有清除斧头的全部内容。我想知道是否还有更好的方法。