2012-04-06 2 views
20

Я хочу использовать matplotlib для иллюстрации определенного интеграла между двумя областями: x_0 и x_1.Как затенять область под кривой в matplotlib

Как тень область под кривой в Matplotlib от х = -1, х = 1 дается следующий участок

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)) 

Окончательный ответ, который я придумал, чтобы использовать fill_between. Я думал, что будет простой оттенок между методом типа, но это делает именно то, что я хочу.

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

hmmm. Это кажется segfault в Python3 (но не Python2) в моей системе ... –

+1

@lukecampbell Пожалуйста, подумайте о переносе вашего редактирования в ответ. Это не липкий, он [одобрен!] (Http://stackoverflow.com/help/self-answer) – MackM

ответ

14

Отъезд fill. Вот example при заполнении ограниченной области.

+0

Вторая ссылка не работает. –

+0

@Jose_mr: Наверное, нет. В настоящее время вики SciPy просто не работают. – gspr

+0

Вы правы, это целая вики. –

10

Окончательный ответ, который я придумал, заключается в использовании fill_between. Я думал, что будет простой оттенок между методом типа, но это делает именно то, что я хочу. section = np.arange(-1, 1, 1/20.) plt.fill_between(section,f(section))