Remplir la zone sous la courbe dans python matlibplot sur l'échelle logarithmique

Je suis en train de remplir l'aire sous une courbe avec matplotlib. Le script ci-dessous fonctionne très bien.

import matplotlib.pyplot as plt
from math import sqrt
x = range(100)
y = [sqrt(i) for i in x]
plt.plot(x,y,color='k',lw=2)
plt.fill_between(x,y,0,color='0.8')
plt.show()

Cependant si je l'y-échelle logarithmique (voir ci-dessous). Parfois elle remplit la zone au-dessus de la courbe ! Quelqu'un peut-il m'aider? Je tiens à remplir l'espace entre la courbe y = 0.

x = range(100)
y = [sqrt(i) for i in x]
plt.plot(x,y,color='k',lw=2)
plt.fill_between(x,y,0,color='0.8')
plt.yscale('log')
plt.show()

Merci d'avance!

source d'informationauteur Loran de Vries