[R] Ternaryplot as an inset graph
Ben Bolker
bbolker at gmail.com
Fri Apr 20 18:05:14 CEST 2012
Young, Jennifer A <Jennifer.Young <at> dfo-mpo.gc.ca> writes:
> I am trying to add a ternary plot as a corner inset graph to a larger
> main ternary plot. I have successfully used add.scatter in the past for
> different kinds of plots but It doesn't seem to work for this particular
> function. It overlays the old plot rather than plotting as an inset.
>
> Here is a simple version of what I'm trying. Note that if I change the
> inset plot to be an ordinary scatter, for instance, it works as
> expected.
>
> library(ade4)
> library(vcd)
> tdat <- data.frame(x=runif(20), y=rlnorm(20), z=rlnorm(20))
> insetPlot <- function(data){
> ternaryplot(data)
> }
> ternaryplot(tdat)
> add.scatter(insetPlot(tdat), posi="topleft", ratio=.2)
>
I think the problem is that add.scatter assumes you're using base
graphics, while ternaryplot() uses grid graphics. Mixing and
matching grid+base graphs is a little bit tricky. You might try it with
triax.plot() from the plotrix package, which I believe does ternary
plots in base graphics ...
Ben Bolker
More information about the R-help
mailing list