matplotlib fill_between问题与x参数

时间:2013-05-11 17:28:28

标签: matplotlib

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

1 个答案:

答案 0 :(得分:2)

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

  

其中:       如果为None,则默认在各处填充。如果不是None,它是一个N长度的numpy布尔数组,填充只会发生在   其中== 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()