1

我尝试在我的情节下方填充一个空间,情节是 y=x,所以它是一条 45 度角的直线。我尝试从 x=1 到 x=10 填充曲线下方的区域,如何使用 fill_between 来做到这一点?

4

1 回答 1

2

这就是 关键字参数的用途。

where :如果没有,默认填充到处。如果不是 None,它是一个 N 长度的 numpy 布尔数组,填充只会发生在 where==True 的区域。

例如:

>>> import numpy as np
>>> import matplotlib.pyplot as plt
>>> fig, ax = plt.subplots()
>>> x = np.linspace(0, 10, 50)
>>> y = x**2
>>> ax.plot(x, y, 'r-')
[<matplotlib.lines.Line2D object at 0x1e91250>]
>>> wh = (x>1) & (x<10)    
>>> ax.fill_between(x, y, where=wh, alpha=0.2)
<matplotlib.collections.PolyCollection object at 0x24dd210>
>>> plt.show()
于 2013-05-11T17:45:54.740 回答