[R] barchart() {Lattice} -- auto.key()
David Winsemius
dwinsemius at comcast.net
Thu Dec 3 01:34:02 CET 2009
On Dec 2, 2009, at 6:27 PM, Peng Cai wrote:
> Hi R Users,
>
> I'm using following data/code (data is also attached) to produce a
> stacked
> barplot.
>
> *I need help with changing legend boxes, currently I'm using
> "rectangles=TRUE". Is it possible to get small squares instead --
> may be
> with a small gap between colored squares.* Currently there is no gap
> between
> the colored rectangles.
>
> # Sample Data:
> Names Col1 Col2 Col3
> Row1 -20 40 -10
> Row2 30 -20 40
> Row3 30 10 -20
> Row4 20 20 -10
>
>
> # R Code:
> dta<-read.table("data.txt", header=TRUE, row.names="Names")
> barchart(data.matrix(dta),
> horizontal=FALSE,
> stack=TRUE,
> par.settings = simpleTheme(col = 3:5),
> auto.key=list(space="right", rectangles=TRUE, points = FALSE),
> border=NA,
> scales = list(relation="free", y = list(at = yScale)),
> panel=function(x,y,...)
> {
> panel.abline(h=c(yScale), col.line="gray")
> panel.barchart(x,y,...)
> }
> )
I think you need to go to a key argument:
library(lattice)
yScale <- seq(-200, 200, 10)
barchart(data.matrix(dta),
horizontal=FALSE,
stack=TRUE,
par.settings = simpleTheme(col = 3:5),
key=list(space="right", text=list(colnames(dta)),
rectangles=list(size=2, border="white", col=3:5) ),
border=NA,
scales = list(relation="free", y = list(at = yScale)),
panel=function(x,y,...)
{
panel.abline(h=c(yScale), col.line="gray")
panel.barchart(x,y,...)
}
)
--
David.
>
> Any help would be appreciated,
>
> Thanks,
> Peng
> <data.txt>______________________________________________
> R-help at 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.
David Winsemius, MD
Heritage Laboratories
West Hartford, CT
More information about the R-help
mailing list