Вы можете легко заполнить область между значениями на графике Matplotlib, используя следующие функции:
- fill_between() : заполнить область между двумя горизонтальными кривыми.
- fill_betweenx() : заполнить область между двумя вертикальными кривыми.
В этом руководстве приведены примеры использования каждой из этих функций на практике.
Пример 1. Заполнение области между двумя горизонтальными линиями
Следующий код показывает, как заполнить область между двумя горизонтальными линиями:
import matplotlib.pyplot as plt
import numpy as np
#define x and y values
x = np.arange (0,10,0.1)
y = np.arange (10,20,0.1)
#create plot of values
plt.plot (x,y)
#fill in area between the two lines
plt.fill_between (x, y, color='red')

Обратите внимание, что мы также можем использовать функцию plt.grid() , чтобы добавить линии сетки на график, чтобы легче видеть заполняемые значения:
import matplotlib.pyplot as plt
import numpy as np
#define x and y values
x = np.arange (0,10,0.1)
y = np.arange (10,20,0.1)
#create plot of values
plt.plot (x,y)
#fill in area between the two lines
plt.fill_between (x, y, color='red', alpha= .5 )
#add gridlines
plt.grid ()

Пример 2. Заполнение области под кривой
Следующий код показывает, как заполнить область под кривой:
import matplotlib.pyplot as plt
import numpy as np
#define x and y values
x = np.arange (0,10,0.1)
y = x\*\*4
#create plot of values
plt.plot (x,y)
#fill in area between the two lines
plt.fill_between (x, y, color='red', alpha= .5 )

Пример 3. Заполнение области над кривой
Следующий код показывает, как заполнить область над кривой:
import matplotlib.pyplot as plt
import numpy as np
#define x and y values
x = np.arange (0,10,0.1)
y = x\*\*4
#create plot of values
plt.plot (x,y)
#fill in area between the two lines
plt.fill_between (x, y, np.max (y), color='red', alpha= .5 )

Пример 4. Заполнение области между двумя вертикальными линиями
В следующем коде показано, как использовать функцию fill_betweenx() для заполнения области между двумя вертикальными линиями:
import matplotlib.pyplot as plt
import numpy as np
#define x and y values
x = np.arange (0,10,0.1)
y = np.arange (10,20,0.1)
#create plot of values
plt.plot (x,y)
#fill in area between the two lines
plt.fill_betweenx (y, 2, 4, color='red', alpha= .5 )

Связанный: Как построить гладкую кривую в Matplotlib