我想使用matplotlib生成类似于此图的图表:
在我的情况下,我实际上有两个方程,一个是线性的,一个是大致的矩形双曲线,我想展示一个稳定状态的第二个时期演变的迭代过程。我可以很容易地绘制这两个函数的图形,但添加带有箭头的线段,通过对角线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()