In [44]: import scipy.stats as stats
In [45]: sf=stats.norm.sf
In [48]: np.log(sf(24))
Out[48]: -292.09872100320786
Следовательно, если plot1d
содержит значение около 24, то график loglog
функции выживания будет иметь отметку по оси y около 10e-292.
Если вы хотите, чтобы диапазон y варьировался от 0 до 1, значит, вам не нужен график loglog
. Возможно, вы ищете график с логарифмической осью X. В этом случае используйте plt.semilogx
:
import scipy.stats as stats
import matplotlib.pyplot as plt
import numpy as np
pos=1000
c=0.1
# trap1=trapping(pos,c) #instance of class trapping
# plot1d=trap1.steps1d(pos,c) #use the method steps1d from class
plot1d=np.linspace(0,25,100)
mylabel=('c=0.1','c=0.01','c=0.001')
colors=('bo','ro','mo')
cn=stats.norm.sf(plot1d) #create the survival function
for label,color in zip(mylabel,colors):
# plt.loglog(plot1d,cn,color,label=label)
plt.semilogx(plot1d,cn,color,label=label)
plt.show()
PS: 3 раза одинаковые значения отображаются разными цветами. Я предполагаю, что в вашем реальном коде вы измените cn
, поэтому этого не произойдет.