2012-04-06 10 views
20

Voglio usare matplotlib per illustrare l'integrale definito tra due regioni: x_0 e x_1.Come ombreggiare la regione sotto la curva in matplotlib

Come posso ombreggiare una regione sotto una curva in matplotlib da x = -1, per x = 1 dato il seguente grafico

import numpy as np 
from matplotlib import pyplot as plt 
def f(t): 
    return t * t 

t = np.arange(-4,4,1/40.) 
plt.plot(t,f(t)) 

La risposta definitiva mi è venuta è quella di utilizzare fill_between. Ho pensato che ci sarebbe stata una sfumatura semplice tra metodo di tipo, ma questo fa esattamente quello che voglio.

section = np.arange(-1, 1, 1/20.) 
plt.fill_between(section,f(section)) 
+0

hmmm. Questo sembra segfault in Python3 (ma non in Python2) sul mio sistema ... –

+1

@lukecampbell Si prega di considerare la modifica in una risposta. Non è di cattivo gusto, è [approvato] (http://stackoverflow.com/help/self-answer) – MackM

risposta

14

Verificare fill. Ecco un example sul riempimento di un'area vincolata.

+0

Il secondo link è rotto. –

+0

@Jose_mr: Probabilmente no. Il wiki di SciPy sembra essere giù al momento. – gspr

+0

Hai ragione, è l'intero wiki. –

10

La risposta definitiva mi è venuta è quello di utilizzare fill_between. Ho pensato che ci sarebbe stata una sfumatura semplice tra metodo di tipo, ma questo fa esattamente quello che voglio. section = np.arange(-1, 1, 1/20.) plt.fill_between(section,f(section))

Problemi correlati