所以,我刚刚使用scipy解决了一个人口死亡率的ODE模型,并将其绘制成2d图表与时间的关系。我认为,如果我可以将人群可视化,因为点在ODE定义的死亡率下消失。有哪些优秀的Python库和GUI可以处理这个问题?
添加。信息:
我如何解决ODE:
import scipy.integrate as spi
import numpy as np
import pylab as pl
L = 1500
alpha = 0.25
sigma = 0.75
TS = 1.0
ND = 120
m = 0.24
mu = 0.06
w = 10000
H0 = 45000 #initial number of hive bees
F0 = 15000 #initial number of forager bees
INPUT = (H0, F0)
def death_rates(INP, t):
Y = np.zeros((2))
V = INP #V[0] = H, V[1] = F
Y[0] = ((L*(V[0]+V[1]))/(w+V[0]+V[1])) - V[0]*(alpha - sigma*(V[1]/(V[0]+V[1]))) - mu*V[0]
Y[1] = V[0]*(alpha - sigma*(V[1]/(V[0]+V[1]))) - m*V[1]
return Y
t_start = 0.0; t_end = ND; t_inc = TS
t_range = np.arange(t_start, t_end+t_inc, t_inc)
RES = spi.odeint(death_rates, INPUT, t_range)
print RES
pl.subplot(311)
pl.plot(RES[:,0], '-g', label='Hive Bees')
pl.xlabel('Time')
pl.ylabel('Hive Bees')
pl.subplot(312)
pl.plot(RES[:,1], '-r', label='Forager Bees')
pl.xlabel('Time')
pl.ylabel('Forager Bees')
pl.show()
基本上,我想做的是将结果设置为动画,因为最初在人口数N0处的点(蜜蜂)不断消失,直到它在人口N1处以60秒的速度平稳。
答案 0 :(得分:1)
Plotly适用于Python。 " gapminder"此链接末尾的示例与您想要的类似。
向下滚动到最后。
https://plot.ly/python/animations/
这是一个屏幕截图 - 但它最好动画:
如果没有示例数据以及有关您想要的更多详细信息(我可以想象出与您描述的内容相符的一些内容),那么真的可以让您获得更多。