我尝试填充我的绘图下面的空间,绘图是y = x所以它是一个45度角的直线。我尝试填充曲线下方的区域,从x = 1到x = 10,如何使用fill_between来做到这一点?
答案 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()