Sembra che si desideri axvspan
, anziché uno dei riempimenti tra le funzioni. Le differenze sono che axvspan
(e axhspan
) riempiranno l'intera dimensione y (o x) della trama indipendentemente dal modo in cui si esegue lo zoom.
Ad esempio, usiamo axvspan
per evidenziare la x-regione tra 8 e 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()
Si potrebbe utilizzare fill_betweenx
per fare questo, ma le estensioni (xey) del rettangolo sarebbe in coordinate di dati. Con axvspan
, le estensioni y del rettangolo sono predefinite su 0 e 1 e sono in coordinate degli assi (in altre parole, percentuali dell'altezza del grafico).
Per illustrare ciò, facciamo in modo che il rettangolo si estenda dal 10% al 90% dell'altezza (invece di occupare l'intera estensione). Prova lo zoom o la panoramica, e notare che le y-extent dicono fissati in spazio espositivo, mentre gli X-estensioni si muovono con lo 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()
fonte
2014-04-23 15:24:44
le persone che sono interessati a una soluzione da utilizzare 'fill_between' per più" wiggly ", linee verticali, dai un'occhiata al parametro' transform' (e [questa risposta] (http://stackoverflow.com/a/4891658/4375377)) –