Sto cercando di riempire l'area sotto una curva con matplotlib. Lo script qui sotto funziona bene.Riempimento area sotto curva in matlibplot python su scala di registro
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()
Tuttavia se si imposta la scala y su logaritmico (vedere di seguito). A volte riempie l'area sopra la curva! Qualcuno può aiutarmi? Vorrei riempire l'area tra la curva 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()
Grazie in anticipo!
Naturalmente! 1e-6 può essere troppo piccolo, ma plt.fill_between (x, y, 1, color = '0.8') funziona bene! –