Es klingt so axvspan
, als ob Sie möchten , und nicht als Füllung zwischen Funktionen. Der Unterschied besteht darin, dass axvspan
(und axhspan
) die gesamte y- (oder x-) Ausdehnung des Diagramms ausfüllen, unabhängig davon, wie Sie zoomen.
Verwenden wir zum Beispiel, um axvspan
den x-Bereich zwischen 8 und 14 hervorzuheben:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot(range(20))
ax.axvspan(8, 14, alpha=0.5, color='red')
plt.show()
Sie könnten fill_betweenx
dies verwenden, aber die Ausmaße (sowohl x als auch y) des Rechtecks würden in Datenkoordinaten angegeben . Bei axvspan
sind die y-Ausmaße des Rechtecks standardmäßig 0 und 1 und werden in Achsenkoordinaten angegeben (mit anderen Worten, Prozentsätze der Höhe des Diagramms).
Um dies zu veranschaulichen, lassen Sie das Rechteck von 10% bis 90% der Höhe reichen (anstatt die volle Ausdehnung einzunehmen). Versuchen Sie zu zoomen oder zu schwenken, und beachten Sie, dass die y-Bereiche im Anzeigebereich festgelegt sind, während sich die x-Bereiche mit dem Zoom / Schwenken bewegen:
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
für "wackeligere" vertikale Linien interessiert sind, werfen einen Blick auf dentransform
Parameter (und diese Antwort )