0

1 つのプロットに 2 つのセミバリオグラムをプロットしようとしましたが、残念ながらうまくいきません。解決策はかなり簡単だと思いますが、私はラテン語の終わりにいます。

これは、1 つのプロットにまとめたいバリオグラムのコードです。

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,
                                         vgm(  psill = 2000,
                                               model = "Sph",
                                               range = 200,
                                               nugget = 500))
        
        plot(emp_variog_iso_a2, variog_iso_a2, as.table=TRUE, main = "Acker H2 C_org", plot.numbers=T)

次に、2 つのセミバリオグラムを 1 つのプロットにプロットしたいと思いますが、値が異なるため、右側に 2 つ目の y 軸があります。

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_l1 <- fit.variogram(  emp_variog_iso_l1,
                                         vgm(  psill = 2000,
                                               model = "Sph",
                                               range = 200,
                                               nugget = 500))
        
        plot(emp_variog_iso_l1, variog_iso_l1, as.table=TRUE, main = "Acker H1 Lichtwert", plot.numbers=T)

各バリオグラムのポイントを 2 つしか表示できませんでしたが、モデルを内部に収めることはできませんでした。これは私が試したコードですが、動作しません!

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, emp_variog_iso_a1$gamma, ylim=c(0,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, col = "red", labels=emp_variog_iso_l1$np )
        
        points(emp_variog_iso_l1$dist, emp_variog_iso_l1$gamma, col = "red", add=T, labels=emp_variog_iso_l1$np, yaxt = "n")
        
        plot(emp_variog_iso_a2$dist, emp_variog_iso_a2$gamma, ylim=c(0,2500),main="Semivarianz Lichtwert und organische Substanz Horizont 2 Ackerland", ylab = "Semivarianz", xlab = "Distanz" )
        points(emp_variog_iso_l2$dist, emp_variog_iso_l2$gamma, col = "red", add=T, labels=emp_variog_iso_l2$np)
    

助けてくれてありがとう!!!

4

1 に答える 1

0

これに使用できますvariogramLine()

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

次に、それをプロットに追加しますlines()

lines(VL)
于 2021-06-23T11:10:46.270 に答える