Dear Mike: 1. Might it work to use legend(x = if(median(data) > mean(range(data))) "topleft", else "bottomright", ...)? 2. The first two hits to 'RSiteSearch("points outside plot region")' suggested setting "par(xpd=TRUE)", then specifying "x" and "y" in "legend" appropriately outside the plot region. For example, par(mar=c(5, 4, 4, 11)+0.1, xpd=TRUE) would leave room on the left hand side of the plot. Then legend(max(x), max(y), ...) would put the legend top right outside the plot. The following is a modification of the first example from the "legend" help page:
leg.txt <- c("Setosa     Petals", "Setosa     Sepals",
                 "Versicolor Petals", "Versicolor Sepals")
op <- par(mar=c(5, 4, 4, 11)+.1, xpd=TRUE)
legend(0, -1, leg.txt)
matplot(c(1,8), c(0,4.5), type = "n", xlab = "Length", ylab = "Width",
            main = "Petal and Sepal Dimensions in Iris Blossoms")
legend(9, 4.5, leg.txt, pch = "sSvV", col = c(1, 3))
par(op)

3. The "lattice" package offers more control for this kind of thing. This package is quite valuable for multivariate displays of all kinds. Unfortunately, I found it difficult to learn. For me an essential reference is Sarkar (2008) Lattice: Multivariate Data Visualization with R (Springer).

Hope this helps. Un fuerte abrazo,
     Spencer


Mike Williamson wrote:
    I am creating a CDF plot function more user-friendly than any default r
function.  Depending upon the bimodality of the data (it is often bimodal),
or any other strange data trends, the points can end up gathering in just
about any corner of the plot.  So, when I add a legend, whether I choose to
add it in the bottom right, top left, or wherever, it will sometimes end up
putting the legend right on the data itself.  So, I tried to force the
legend to certain data values (e.g., the largest in x & the smallest in y,
to "really" get the bottom right), but then this means most of the legend is
missing because it is outside of the "plot region".
    How can I create a legend that is fully outside of the plot, similar to
what excel does by default, for example?

                                                  Thanks!
                                                      Mike

        [[alternative HTML version deleted]]

______________________________________________
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.



______________________________________________
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.

Reply via email to