2010-09-10 6 views

Répondre

26

Vous pouvez simplement utiliser la fonction axvspan. L'avantage à cela est que la région verticale (ou horizontale, dans le cas de axhspan) restera ombrée, peu importe la façon dont vous effectuez un panoramique/zoom sur le tracé. Il y a un exemple complet here.

Voir un exemple simple ci-dessous:

import numpy as np 
import matplotlib.pyplot as plt 

x = np.linspace(0, 20, 500) 
y = np.cos(3*x) - 2*np.cos(5*x) + 0.5*np.cos(6*x) 

a = 5 
b = 15 

plt.axvspan(a, b, color='y', alpha=0.5, lw=0) 
plt.plot(x, y) 
plt.savefig('shade.png', dpi=300) 
plt.show() 

Cela donne comme résultat enter image description here

+2

'axvspan' est une option beaucoup mieux que' fill_between' dans ce cas. –

+1

J'étais en train d'éditer votre réponse. J'espère que ça va! –

Questions connexes