Python-Matplotlib:如何将多个图表合并为一个——正确使用生存函数

2024-09-26 22:11:12 发布

您现在位置:Python中文网/ 问答频道 /正文

pos=10000
c=0.1
trap1=trapping(pos,c) # instance of a class
mylabel=('c=0.1','c=0.01','c=0.001') 
colors=('bo','ro','mo')   

for i in range(3):
    plot1d=trap1.steps1d(pos,c)
    cn=stats.norm.sf(plot1d)  #create the survival function
    for label,color in zip(mylabel,colors):
        plt.loglog(plot1d,cn,color,label=label)
        plt.hold('on')
    c*=0.1
plt.show()

您好,在上面的代码中,我试图迭代3个不同的c值,并生成一个图来显示其中的所有3个图。我无法使其正常工作!它只显示了一个情节。 另外,我使用统计标准.sf它给出了生存函数,我得到的曲线图是正确的,但是在y轴上,我想要0到1的值,它给了我从10e-300到10e-10的值!在


Tags: ofinstanceinposforpltsfcn
1条回答
网友
1楼 · 发布于 2024-09-26 22:11:12
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图将在10e-292附近有一个y轴记号。在

如果您希望y范围从0到1,那么听起来您不需要loglog图。也许你在找一个有对数x轴的图。在这种情况下,请使用plt.semilogx

^{pr2}$

PS:这将相同的值用不同的颜色绘制3次。我假设在您的实际代码中,您将更改cn,因此不会发生这种情况。在

相关问题 更多 >

    热门问题