[R] Plotting color.legend() outside of plot region
Tim Clark
mudiver1200 at yahoo.com
Mon Nov 30 22:12:08 CET 2009
Dear List,
I am trying to plot a color.legend() in the right outer margin of my device region. I have read multiple threads on the subject and still can't get it right. I have stolen an example from one of the threads to demonstrate my problem. I have extended the outer margin using par(oma()), and have used par(xpd=NA) to tell it to plot in the device region. I can get the legend to plot in the figure region but it will not plot in the outer margin. What am I doing wrong? Example follows with the legend in the figure region. I would like it more to the right in the device region.
Thank,
Tim
library(TeachingDemos)
op <- par(mfrow = c(3,3), ## split region
oma = c(0,0,4,12) + 0.1, ## create outer margin
mar = c(5,4,2,2) + 0.1) ## shrink some margins
plot(1:10, main = "a", pch = 1:2, col= 1:2)
plot(1:10, main = "b", pch = 1:2, col= 1:2)
tmp1 <- cnvrt.coords( 0.5, 0, input='plt' )$tdev # save location for mtext
plot(1:10, main = "c", pch = 1:2, col= 1:2)
plot(1:10, main = "d", pch = 1:2, col= 1:2)
plot(1:10, main = "e", pch = 1:2, col= 1:2)
plot(1:10, main = "f", pch = 1:2, col= 1:2)
plot(1:10, main = "g", pch = 1:2, col= 1:2)
plot(1:10, main = "h", pch = 1:2, col= 1:2)
plot(1:10, main = "i", pch = 1:2, col= 1:2)
## title
mtext("My Plots", side = 3, outer = TRUE, font = 2, line = 1, cex = 1.2,at=tmp1$x)
## draw legend
#Set colors
Satelite.Palette <- colorRampPalette(c("blue3","cyan","aquamarine","yellow","orange","red"))
mycol<-Satelite.Palette(101)
#Add legend
BL<-unlist(corner.label(x=-1,y=-1,figcorner=FALSE)) #Coordinates for bottom left corner of plot
TR<-unlist(corner.label(x=1,y=1,figcorner=FALSE)) #Coordinates for top right corner of plot
par(xpd=NA) #Plots to the device region (outer margin)
library(plotrix)
col.labels<-seq(0,100,20)
color.legend(TR[1],BL[2],TR[1]+1,TR[2],col.labels,mycol,align="rb",gradient="y")
#Reset par
par(op)
Tim Clark
Department of Zoology
University of Hawaii
More information about the R-help
mailing list