0

matplotlib を使用して、次のようなグラフを生成したいと思います。

http://imgur.com/Pa254yn

私の場合、実際には 2 つの方程式があります。1 つは線形双曲線、もう 1 つはほぼ直角双曲線です。周期 2 の定常状態が進化する反復プロセスを示したいと思います。2 つの関数を簡単にグラフ化できますが、対角線 x=y を介した曲線間の振動を示す矢印付きの線分を追加することはできません。時間の経過とともに安定した状態。

ディクショナリ参照は、関数の正確な形状を決定する変数へのものです。必要な座標を生成できると仮定して、下のグラフのように線分を描く方法を特に考えています。

さらに、最初の y 軸のすぐ下に 2 番目の 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()
4

0 に答える 0