繁体   English   中英

如何重新创建这些图?

[英]how can I recreate these graphs?

我希望重新创建此链接中显示的这些图:

在此处输入图片说明

我需要以正确的顺序排列它们,而且我不确定每个图需要使用哪些k值。 我尝试了一些k值,但似乎无法正确。 我的代码如下所示。 任何帮助将是巨大的,谢谢。

#define parameters
k1= np.linspace(0,1,2)
k2=1
n1=3
n2=3
K1=0.3
K2=0.3
beta1=0
beta2=0.05
x = np.linspace(0,1)
def r_inact_1loop(x,k1=1):      #np.linspace(10,0,0.5)): #k1=1
    return k1*x
def r_activation(x,k1=1):     #np.linspace(0,1,2.5))
    return k2*(beta2*K2**n2/(K2**n2+x**n2) + x**n2/(K2**n2+x**n2))*(1-x)
def r_inact_2loop(x,k1=1):   #np.linspace(2.5,0,1)):
    return k1*(beta1*x**n1/(K1**n1+x**n1) + K1**n1/(K1**n1+x**n1))*x

#graphs
fig = plt.figure(figsize=(16,5))

ax1 = fig.add_subplot(1,3,1)
ax2 = fig.add_subplot(1,3,2)
ax3 = fig.add_subplot(1,3,3)
ax1.set_xlabel('Fraction of activated A')
ax2.set_xlabel('Fraction of activated A')
ax3.set_xlabel('Fraction of activated A')
ax1.set_ylabel('Rate of A inactivation or activation')
ax2.set_ylabel('Rate of A inactivation or activation')
ax3.set_ylabel('Rate of A inactivation or activation')

for k in k1: #k1
    ax1.plot(x, r_inact_1loop(x,k),label='in1 k1={:.1f}'.format(k))
    ax1.plot(x, r_activation(x,k),label='ac k1={:.1f}'.format(k))
    #ax1.legend(loc='best')
    ax2.plot(x, r_inact_1loop(x,k),label='in1 k1={:.1f}'.format(k))
    ax2.plot(x, r_inact_2loop(x,k),label='in2 k1={:.1f}'.format(k))
    #ax2.legend(loc='best')
    ax3.plot(x, r_activation(x,k),label='ac k1={:.1f}'.format(k))
    ax3.plot(x, r_inact_2loop(x,k),label='in2 k1={:.1f}'.format(k))
    #ax3.legend(loc='best')
    plt.xlim(0,1)
    plt.ylim(0,0.7)
plt.show()

首先,您的r_activation函数对我而言似乎不正确:

def r_activation(x,k1=1):     #np.linspace(0,1,2.5))
    return k2*(beta2*K2**n2/(K2**n2+x**n2) + x**n2/(K2**n2+x**n2))*(1-x)

不使用参数k1

第二,对于第一个图,激活曲线可以通过r_inact_1loop函数以1-x作为第一参数而不是x

第三,绘制了不同线条样式下不同k的激活/失活曲线,以说明不同k的影响。

k=1
ax1.plot(x, r_inact_1loop(x,k),label='in1 k1={:.1f}'.format(k), c='r')
ax1.plot(x, r_inact_1loop((1-x),k),label='ac k1={:.1f}'.format(k), c='b')
ax1.plot(x, r_inact_1loop((1-x),k*0.5),label='ac k1={:.1f}'.format(k), c='b', ls='--')
#ax1.plot(x, r_activation(x,k),label='ac k1={:.1f}'.format(k))
#ax1.legend(loc='best')
ax2.plot(x, r_inact_1loop(x,k),label='in1 k1={:.1f}'.format(k), c='r')
ax2.plot(x, r_activation(x,k),label='ac k1={:.1f}'.format(k), c='b')
#ax2.plot(x, r_inact_2loop(x,k),label='in2 k1={:.1f}'.format(k))
#ax2.legend(loc='best')
ax3.plot(x, r_inact_2loop(x,k),label='in2 k1={:.1f}'.format(k), c='r')
ax3.plot(x, r_inact_2loop(x,k*2),label='in2 k1={:.1f}'.format(k), c='r', ls='--')
ax3.plot(x, r_activation(x,k),label='ac k1={:.1f}'.format(k), c='b')
#ax3.legend(loc='best')
plt.xlim(0,1)
plt.ylim(0,1)

在此处输入图片说明

第四,以第三为例,原始曲线图中的红色区域如下获得:保持激活曲线恒定,并更改灭活曲线的k值,以使灭活曲线和激活曲线至少相互拦截(因此可能是双稳态的) )。 将有一组k上下边界以使拦截成为可能,红色区域说明了k边界(我想我必须用数值​​方法解决k上下边界)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM