答案 0 :(得分:2)
这不是答案,只是评论中给出的答案摘要:
LVCompGames
包中的primer
给出了这个情节:
graphics
包和filled.contour
函数。
rasterVis
函数的vectorplot
包
如果您向我们提供您希望输出的更多信息,我认为所有答案都可以自定义。
答案 1 :(得分:0)
TeachingDemos包中的my.symbols
函数允许您定义自己的符号以添加到现有图中。支持函数ms.arrows
已编码基本箭头以添加到绘图中,您可以轻松地修改它(或其他ms函数)以创建要添加的其他符号。
答案 2 :(得分:0)
有一个名为phaseR的好方案。它使用包deSolve中的ODE求解器,让您轻松添加nullclines,轨迹等。 只需确定命名ODE功能的参数" t"," y"和"参数"。否则phaseR函数将给出错误:
导数误差(t = 0,y = c(x [i],y [j]),参数=参数):
未使用的参数(y = c(x [i],y [j]),参数=参数)
以下是Lotka-Volterra捕食者 - 食饵系统的工作代码示例:
require(deSolve)
require(phaseR)
model.LV <- function(t, y, parameters){
with(as.list(parameters),{
N<-y[1]
P<-y[2]
dN <- a*N - b*N*P
dP <- c*N*P -d*P
list(c(dN,dP))
})
}
params.LV<-c(a=0.4, b=0.3, c=0.1, d=0.2)
data.LV<-as.data.frame(lsoda(c(N=1,P=1),seq(1,250,by=0.5), model.LV, params.LV))
# plot the time series of both populations
plot(data.LV$time,data.LV$N, main="Time series of L-V equations", xlab="time",
ylab="Population densities N, P",
type="l", col="green",
ylim=c(0,max(data.LV$N,data.LV$C)))
lines(data.LV$time,data.LV$P,col="red")
# plot the trajectories of the system
plot(data.LV$N, data.LV$P, type="l", col="blue", main="Trajectory of L-V equations",
xlab="Prey density N", ylab="Predator density P", xlim=c(0,5), ylim=c(0,3))
#add Nullclines
nullclines(model.LV, x.lim=c(0.1,5),y.lim=c(0.1,3), parameters=params.LV, system="two.dim", colour=c("green","red"), add=TRUE)