Tôi đang cố gắng điền vào khu vực dưới một đường cong với matplotlib. Kịch bản bên dưới hoạt động tốt.Điền vào khu vực dưới đường cong trong python matlibplot trên quy mô log
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()
Tuy nhiên, nếu tôi đặt thang y thành logarit (xem bên dưới). Đôi khi nó lấp đầy khu vực phía trên đường cong! Ai giúp tôi với? Tôi muốn lấp đầy khu vực giữa đường cong và 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()
Cảm ơn bạn trước!
Tất nhiên! 1e-6 có thể quá nhỏ, nhưng plt.fill_between (x, y, 1, color = '0.8') hoạt động tốt! –