有没有一种方法可以使用Matplotlib绘制数组的不同元素?

时间:2020-05-11 08:42:21

标签: python arrays matplotlib

我有以下数组:

popul_num = np.array([200, 100, 0, 0])

数组中的每个元素代表系统中酶,底物,酶-底物复合物和产物的数量。

我编写了代码来模拟一段时间内的以下反应,并更新popul_num来更改每个实体的消耗或产生的值:

E + S-> ES

ES-> E + S

ES-> E + P

然后函数根据发生的上述反应用新值更新popul_num数组。

由于上述反应的发生,我正在尝试使用Matplotlib绘制实体数随时间变化的折线图

我尝试为数组的每个索引调用一次plt.plot:

plt.plot(popul_num[i]) # i in place of each index 

我已经尝试过:

plt.plot(popul_num[0:3]) 

但是这两种方法总是只返回一个线图,我在做什么错呢?

欢呼

1 个答案:

答案 0 :(得分:1)

您需要存储新状态,而不是对其进行更新。

popul_num = np.array([200, 100, 0, 0])

#after single reaction

popul_num = np.array([200, 100, 0, 0], [300, 50, 2, 4])

# now plot 4 separate graphs

for i in range(4):
 plt.plot(list(enumerate(popul_num[:, i])))

plt.show()