Kedengarannya seperti yang Anda inginkan axvspan
, bukan salah satu isian antar fungsi. Perbedaannya adalah bahwa axvspan
(dan axhspan
) akan memenuhi seluruh luas y (atau x) plot terlepas dari cara Anda memperbesar / memperkecil.
Misalnya, mari kita gunakan axvspan
untuk menyorot daerah x antara 8 dan 14:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(20))
ax.axvspan(8, 14, alpha=0.5, color='red')
plt.show()
Anda bisa menggunakan fill_betweenx
untuk melakukan ini, tetapi luasan (x dan y) persegi panjang akan berada dalam koordinat data . Dengan axvspan
, luas y persegi panjang default ke 0 dan 1 dan berada dalam koordinat sumbu (dengan kata lain, persentase tinggi plot).
Untuk mengilustrasikan ini, mari buat persegi panjang memanjang dari 10% menjadi 90% dari tinggi (alih-alih memenuhi keseluruhan). Coba perbesar atau geser, dan perhatikan bahwa luasan y menunjukkan tetap di ruang tampilan, sedangkan luasan x bergerak dengan zoom / pan:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(20))
ax.axvspan(8, 14, ymin=0.1, ymax=0.9, alpha=0.5, color='red')
plt.show()
fill_between
garis vertikal yang lebih "transform