Área de preenchimento Matplotlib sob curva entre apenas dois valores x

Gostaria de preencher a área sob alguma curva entre dois valores apenas no eixo horizontal. eu tentei

import matplotlib.pyplot as plt
import numpy as np
from scipy.stats import norm

x = np.linspace(-4,4, 10000)
nVals = [norm.pdf(i,0,1) for i in x]

line = plt.plot(x,nVals)

plt.fill_between(x,nVals,color = '#111111',where = x > -3 and x < -2)
plt.axis([-4,4,0,.5])
plt.show()

mas retorna

ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()

Eu não entendo essa mensagem; quando eu corro

z = -2.5
print z > -3 and z < -2

Pitãofaz entender o que eu quero dizer e imprime

True

Então, por que isso não funciona comfill_between e como posso resolver isso?

questionAnswers(1)

yourAnswerToTheQuestion