[R] plot two variograms on a same graph

2009-06-10 Thread damien landais
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@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.


Re: [R] plot two variograms on a same graph

2009-06-10 Thread ONKELINX, Thierry
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.onkel...@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-boun...@r-project.org [mailto:r-help-boun...@r-project.org]
Namens damien landais
Verzonden: woensdag 10 juni 2009 13:55
Aan: R-help@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@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.

__
R-help@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.


Re: [R] plot two variograms on a same graph

2009-06-10 Thread Paul Hiemstra

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@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

__
R-help@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.