微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在 R 中的一个图中拟合两个半变异函数?

如何解决如何在 R 中的一个图中拟合两个半变异函数?

我试图在一个图中绘制两个半变异函数,但不幸的是它不起作用。 我想解决方案很简单,但我在拉丁语的末尾。

这是我想放在一个图中的变异函数代码

variog_iso_a1 <- fit.variogram(  emp_variog_iso_a1,vgm(  psill = 2000,model = "Sph",range = 200,nugget = 500))
        
        plot(emp_variog_iso_a1,variog_iso_a1,as.table=TRUE,main = "Acker H1 C_org",plot.numbers=T)


variog_iso_a2 <- fit.variogram(  emp_variog_iso_a2,nugget = 500))
        
        plot(emp_variog_iso_a2,variog_iso_a2,main = "Acker H2 C_org",plot.numbers=T)

其次,我还想在一个图中绘制两个半变异函数,但由于值不同,第二个 y 轴位于右侧。

variog_iso_a1 <- fit.variogram(  emp_variog_iso_a1,plot.numbers=T)


variog_iso_l1 <- fit.variogram(  emp_variog_iso_l1,nugget = 500))
        
        plot(emp_variog_iso_l1,variog_iso_l1,main = "Acker H1 Lichtwert",plot.numbers=T)

我只能用两个显示每个变异函数的点,但不能显示内部安装的模型。这是我试过但不起作用的代码

plot(emp_variog_iso_a1$dist,emp_variog_iso_a1$gamma,ylim=c(0,2500))
        points(emp_variog_iso_a2$dist,emp_variog_iso_a2$gamma,col = "red",add=T,labels=emp_variog_iso_a2$np)
        
        
        plot(emp_variog_iso_a1$dist,2500),main="Semivarianz Lichtwert und organische Substanz Horizont 1 Ackerland",ylab = "Semivarianz",xlab = "distanz" )
        par(new = TRUE)
        plot(emp_variog_iso_l1$dist,emp_variog_iso_l1$gamma,labels=emp_variog_iso_l1$np )
        
        points(emp_variog_iso_l1$dist,labels=emp_variog_iso_l1$np,yaxt = "n")
        
        plot(emp_variog_iso_a2$dist,main="Semivarianz Lichtwert und organische Substanz Horizont 2 Ackerland",xlab = "distanz" )
        points(emp_variog_iso_l2$dist,emp_variog_iso_l2$gamma,labels=emp_variog_iso_l2$np)
    

感谢您的帮助!!!

解决方法

您可以使用 variogramLine()

VL=variogramLine(YourVariogramFit,maxdist = ...)

接下来,使用 lines()

将其添加到您的绘图中
lines(VL)

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。