title: Overplotting from different data frames in ggplot2
body: <p>My objective is to plot the path of a river with points indicating important sites near the river.</p>
  
  <p>I have two data frames, giving the river and site coordinates respectively:</p>
  
  <pre><code>river&lt;-data.frame(
      long=c(-2.816452494909265,-2.845487331898639,-2.883036393822358),
      lat=c(56.38229290416972,56.36346886284386,56.36577994637793))
  
  samploc&lt;-data.frame(
      site=c("Site1","Site2","Site3"),
      long=c(-2.826213585663894,-2.816519300644918,-2.868437228090127),
      lat=c(56.3649482229089,56.38166100310631,56.36716019476281))
  </code></pre>
  
  <p>Using an old school R plot, with par(new=T) and conserving xlim and ylim, I would get something like this:</p>
  
  <p><a href="http://users.utu.fi/susjoh/Riverplot.png">old school plot http://users.utu.fi/susjoh/Riverplot.png</a></p>
  
  <p>But I would like to do it using ggplot2. The river and points can be easily called individually:</p>
  
  <pre><code>ggplot(river,aes(x=long,y=lat)) + geom_path()
  ggplot(samploc,aes(x=long,y=lat,lab=site)) + geom_point() + geom_text(vjust=2)
  </code></pre>
  
  <p>I have tried to cheat, by creating the following data frame from the previous two:</p>
  
  <pre><code>&gt; rivsamp
    river.long river.lat samp.site samp.long samp.lat
  1  -2.816452  56.38229      NA        NA       NA
  2  -2.845487  56.36347      NA        NA       NA
  3  -2.883036  56.36578      NA        NA       NA
  4         NA        NA     Site1 -2.826214 56.36495
  5         NA        NA     Site2 -2.816519 56.38166
  6         NA        NA     Site3 -2.868437 56.36716
  
  ggplot(rivsamp) +
    geom_path(aes(x=river.long,y=river.lat)) +
    geom_point(aes(x=samp.long,y=samp.lat)) +
    geom_text(aes(x=samp.long,y=samp.lat,lab=samp.site),vjust=2)
  </code></pre>
  
  <p><a href="http://users.utu.fi/susjoh/riverggplot.png">ggplot2 plot http://users.utu.fi/susjoh/riverggplot.png</a></p>
  
  <p>It works, but creating this new data frame is not as straightforward as the old par(new=T) method.</p>
  
  <p>Is there a simpler way to overplot from the individual data frames using ggplot2?</p>
  
  <p>Thanks!</p>