代表matplotlib中稳态的迭代开发

时间:2013-04-11 15:15:06

标签: matplotlib iteration

我想使用matplotlib生成类似于此图的图表:

http://imgur.com/Pa254yn

在我的情况下,我实际上有两个方程,一个是线性的,一个是大致的矩形双曲线,我想展示一个稳定状态的第二个时期演变的迭代过程。我可以很容易地绘制这两个函数的图形,但添加带有箭头的线段,通过对角线x = y来证明曲线之间的振荡我无法弄清楚,也没有如何将第二个y轴直接连接到第一个显示开发的第一个y轴之下随着时间的推移稳定状态。

字典引用是指确定函数确切形状的变量。我特别想知道如何绘制线段,如下图所示,假设我可以生成必要的坐标。

此外,在第一个y轴正下方附加第二个y轴(但这可能是一个单独的问题)。

def rot_time_series(self):
    fig = plt.figure(figsize=(10, 10), frameon = False)
    ax1 = fig.add_subplot(211)
    ax2 = fig.add_subplot(212)


    x_vals = np.arange(0,100,0.1)
    values = np.empty([len(x_vals), 3])

    for i in range(len(x_vals)):
        y_A = self.mp['cA']['a'] * x_vals[i] + self.mp['cA']['b'] * x_vals[i] / (self.mp['cA']['c'] + x_vals[i])
        y_B = self.mp['cB']['a'] * x_vals[i]
        values[i,0] = x_vals[i]
        values[i, 1] = y_A
        values[i, 2] = y_B

    #mplot.rc('text', usetex=True)
    mplot.rc('font', family='serif')
    ax1.set_xlabel(r'$N_t$')
    ax1.set_ylabel(r'$N_{t+1}$')
    ax1.plot(values[:,0], values[:,0], color="black", linewidth=2, linestyle="-")
    ax1.plot(values[:,0], values[:,1], color="blue", linewidth=2, linestyle="--")
    ax1.plot(values[:,0], values[:,2], color="red", linewidth=2, linestyle="-.")
    plt.show()

0 个答案:

没有答案