Hi, I would know how to plot two variograms on a same graph. I can plot one by one but I would draw both on the same one. Is it possible? Do i need any special package? Thanks! Cordialement Damien Landais
plot two variograms on a same graph
3 messages · damien landais, ONKELINX, Thierry, Paul Hiemstra
Dear Damien, I tend do use ggplot2 for more advanced plotting. You only have to create a dataframe with all the data you need. Here are some examples. library(gstat) library(ggplot2) data(meuse) coordinates(meuse) = ~x+y g1 <- gstat(id = "Raw", formula = log(zinc)~1, data = meuse) g2 <- gstat(id = "Linear trend", formula = log(zinc)~x+y, data = meuse) vg1 <- variogram(g1) vg2 <- variogram(g2) ggplot(rbind(vg1, vg2), aes(x = dist, y = gamma, colour = id)) + geom_point() vgm1 <- fit.variogram(vg1, vgm(1, "Sph", 700, 1)) vgm2 <- fit.variogram(vg2, vgm(1, "Sph", 700, 1)) vgLine <- rbind( cbind(variogramLine(vgm1, maxdist = max(vg1$dist)), id = "Raw"), cbind(variogramLine(vgm2, maxdist = max(vg2$dist)), id = "Linear trend") ) ggplot(rbind(vg1, vg2), aes(x = dist, y = gamma, colour = id)) + geom_line(data = vgLine) + geom_point() HTH, Thierry ------------------------------------------------------------------------ ---- ir. Thierry Onkelinx Instituut voor natuur- en bosonderzoek / Research Institute for Nature and Forest Cel biometrie, methodologie en kwaliteitszorg / Section biometrics, methodology and quality assurance Gaverstraat 4 9500 Geraardsbergen Belgium tel. + 32 54/436 185 Thierry.Onkelinx at inbo.be www.inbo.be To call in the statistician after the experiment is done may be no more than asking him to perform a post-mortem examination: he may be able to say what the experiment died of. ~ Sir Ronald Aylmer Fisher The plural of anecdote is not data. ~ Roger Brinner The combination of some data and an aching desire for an answer does not ensure that a reasonable answer can be extracted from a given body of data. ~ John Tukey -----Oorspronkelijk bericht----- Van: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] Namens damien landais Verzonden: woensdag 10 juni 2009 13:55 Aan: R-help at r-project.org Onderwerp: [R] plot two variograms on a same graph Hi, I would know how to plot two variograms on a same graph. I can plot one by one but I would draw both on the same one. Is it possible? Do i need any special package? Thanks! Cordialement Damien Landais ______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code. Dit bericht en eventuele bijlagen geven enkel de visie van de schrijver weer en binden het INBO onder geen enkel beding, zolang dit bericht niet bevestigd is door een geldig ondertekend document. The views expressed in this message and any annex are purely those of the writer and may not be regarded as stating an official position of INBO, as long as the message is not confirmed by a duly signed document.
Hi,
It is possible, but without you specifying in which pacakge you are
going to fit the variograms it is hard for us to provide an example. And
what do you mean by variogram, is that the sample variogram or the
fitted variogram model, or both? Try and keep to the posting guide next
time to make it possible for us to answer your question. When you use
gstat for geostatistics you can use somehting along the line of
(assuming that only the variogram model is different):
library(automap) # I use automap to fit the variogram, available on CRAN
library(lattice)
data(meuse)
coordinates(meuse) = ~x+y
av1 = autofitVariogram(log(zinc)~dist, meuse, model = "Sph")
av2 = autofitVariogram(log(zinc)~dist, meuse, model = "Exp")
# Make the plot
xyplot(gamma ~ dist, av1$exp_var,
panel = function(...) {
panel.xyplot(...)
# First model
vm1 = av1$var_model
ret = variogramLine(vm1, maxdist = 1600)
llines(ret$dist, ret$gamma)
# Second model
vm2 = av2$var_model
ret = variogramLine(vm2, maxdist = 1600)
llines(ret$dist, ret$gamma, col = "red")
}
)
cheers,
Paul
ps There is a mailing list for geographical problems, r-sig-geo. These
kinds of problems are likely to get more response there.
damien landais wrote:
Hi, I would know how to plot two variograms on a same graph. I can plot one by one but I would draw both on the same one. Is it possible? Do i need any special package? Thanks! Cordialement Damien Landais
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.
Drs. Paul Hiemstra Department of Physical Geography Faculty of Geosciences University of Utrecht Heidelberglaan 2 P.O. Box 80.115 3508 TC Utrecht Phone: +3130 274 3113 Mon-Tue Phone: +3130 253 5773 Wed-Fri http://intamap.geo.uu.nl/~paul