@ Peter: I got it, thanks a lot for all your help! And yes, as you said the "title" option in auto.key is redundant.
@ All, Hi: I need to add percentage sign to y-axis labels (like 0%, 20%, ..., 100%). How can I get it. I'm using barchart() function as given below along with the data set. Data: Sample Col1 Col2 Col3 Row1 -20 40 -10 Row2 30 -20 40 Row3 30 10 -20 Row4 20 20 -10 R code: library(lattice) dta<-read.table("data.txt", header=TRUE, row.names="Sample") myYscale <- seq(-140,140,20) barchart(data.matrix(dta), horizontal=FALSE, stack=TRUE, par.settings = simpleTheme(col = c(2:4)), auto.key=list(space = 'right', rows = 3, rectangles = TRUE, points = FALSE ), scales = list(y = list(at = myYscale)), panel=function(x,y,...){ panel.abline(h=c(myYscale), col.line="gray") panel.barchart(x,y,...)} ) Any help would be greatly appreciated, Peng On Thu, Nov 26, 2009 at 10:38 PM, P Ehlers <ehl...@ucalgary.ca> wrote: > As I wrote earlier: > > > "I had to add the rectangles= and points= arguments to > > auto.key to get the same key as you had earlier." > > and the relevant line in the code was: > > > auto.key = list(space = 'right', rectangles=TRUE, points=FALSE) > > -Peter Ehlers > > Peng Cai wrote: > >> Hello Peter and David, >> >> Thanks for your help. I have added what you suggested and its working >> perfectly fine except: >> >> When I add the panel function, the legend changes. In the sense without >> the >> panel function the column names are shown with small colored rectangles >> (on >> right), but after adding it the rectangles change to tiny un-filled >> diamonds. Any suggestions? >> >> My current code and data is below, >> >> Thanks a lot, >> Peng >> >> >> Data: >> >> >>> Sample Col1 Col2 Col3 >>> Row1 -2 4 -1 >>> Row2 3 -2 4 >>> Row3 3 5 -2 >>> Row4 4 1 -1 >>> >>> Code: >>> >>> >>> >> >> >> >> >>> dta<-read.table("data.txt", header=TRUE, row.names="Sample") >>> coltemp=c(619,376,497) >>> myYscale <- seq(-10, 10, 1) >>> barchart(data.matrix(dta), >>> horizontal=FALSE, >>> stack=TRUE, >>> par.settings = simpleTheme(col = colors()[coltemp]), >>> auto.key=list(space="right"), >>> border=NA, >>> panel=function(x,y,...){ >>> panel.abline(h=c(myYscale), col.line="gray") >>> panel.barchart(x,y,...) >>> }, >>> scales = list(y = list(at = myYscale)) >>> ) >>> >>> >>> >> >> >> >> >> >> >> >> >> >> Thanks, >> >> >>> Peng >>> >>> >>> On Thu, Nov 26, 2009 at 7:23 PM, Peng Cai <pengcaimaill...@gmail.com >>> >wrote: >>> >>> >>> >>>> Hi Again, >>>> >>>> Before I start getting into what you just suggested, let me confirm if I >>>> made my point clear previously. I'm looking for horizontal lines similar >>>> to >>>> one on the following link (It has parallel lines for each y=200, >>>> y=400,...): >>>> >>>> http://pfiles.5min.com/images/176735/176734313.jpg >>>> >>>> What you just suggested can solve this purpose? Thanks, >>>> >>>> Peng >>>> >>>> >>>> On Thu, Nov 26, 2009 at 7:09 PM, Peter Ehlers <ehl...@ucalgary.ca> >>>> wrote: >>>> >>>> >>>> >>>>> Peng Cai wrote: >>>>> >>>>> >>>>> >>>>>> Thanks David, I tried panel.abline(h=somevalue) -- both inside and >>>>>> outside >>>>>> of barchart() function but its not working. Any suggestions? >>>>>> >>>>>> Peng >>>>>> >>>>>> >>>>>> >>>>> Here's some code related to the data you posted earlier. >>>>> >>>>> >>>>> barchart(data.matrix(dta), horizontal = FALSE, stack = TRUE, >>>>> par.settings = simpleTheme(col = 2:4), >>>>> panel=function(x,y,...){ >>>>> panel.abline(h=c(-2,0,3,4), col.line="gray") >>>>> panel.barchart(x,y,...) >>>>> >>>>> }, >>>>> scales = list(y = list(at = -2:8)), >>>>> auto.key = list(space = 'right', rectangles=TRUE, >>>>> points=FALSE) >>>>> ) >>>>> >>>>> If you want the gray lines in front of the bars, switch the >>>>> order of the panel functions. With lattice, it's all about >>>>> what goes into each panel (you have only one panel here). >>>>> If you want more than one thing in a panel, you have to set >>>>> up a function to do those things. >>>>> >>>>> I had to add the rectangles= and points= arguments to >>>>> auto.key to get the same key as you had earlier. >>>>> >>>>> -Peter Ehlers >>>>> >>>>> >>>>> >>>>> >>>>> >>>>>> On Thu, Nov 26, 2009 at 6:42 PM, David Winsemius < >>>>>> dwinsem...@comcast.net>wrote: >>>>>> >>>>>> On Nov 26, 2009, at 6:12 PM, Peng Cai wrote: >>>>>> >>>>>> >>>>>>> Thanks a lot Peter! One more help, is there a similar function >>>>>>> abline() >>>>>>> >>>>>>> >>>>>>> >>>>>>>> for >>>>>>>> barchart(). >>>>>>>> >>>>>>>> ?panel.abline >>>>>>>> >>>>>>>> >>>>>>> >>>>>>> I'm trying to add a (light gray colored) horizontal lines, one for >>>>>>> >>>>>>> >>>>>>>> each >>>>>>>> y-value. >>>>>>>> >>>>>>>> Peng >>>>>>>> >>>>>>>> On Thu, Nov 26, 2009 at 5:59 PM, Peter Ehlers <ehl...@ucalgary.ca> >>>>>>>> wrote: >>>>>>>> >>>>>>>> Peng Cai wrote: >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>>> Hi Peter, >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> I'm not sure but it seems "scales" command works only with integer >>>>>>>>>> values. >>>>>>>>>> >>>>>>>>>> If the y-axis values are very small (such as -0.03, -0.02, -0.01, >>>>>>>>>> 0, >>>>>>>>>> 0.01,..., 0.08). My current plot has values 0, 0.05, and 0.10 >>>>>>>>>> only. >>>>>>>>>> But >>>>>>>>>> I >>>>>>>>>> need it to extend it to negative numbers and reduce the scale >>>>>>>>>> width >>>>>>>>>> (like >>>>>>>>>> -0.04, -0.02, 0, 0.02,...). >>>>>>>>>> >>>>>>>>>> Can I change these too? Thanks! >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Use, e.g. >>>>>>>>>> >>>>>>>>>> >>>>>>>>> myYscale <- seq(-0.04, 0.08, 0.02) >>>>>>>>> barchart(..., >>>>>>>>> ..., >>>>>>>>> scales = list(y = list(at = myYscale)), >>>>>>>>> ... >>>>>>>>> ) >>>>>>>>> >>>>>>>>> -Peter Ehlers >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>> Peng >>>>>>>>> >>>>>>>>> >>>>>>>>> >>>>>>>>>> On Thu, Nov 26, 2009 at 3:18 PM, Peter Ehlers <ehl...@ucalgary.ca >>>>>>>>>> > >>>>>>>>>> wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> Peng Cai wrote: >>>>>>>>>> >>>>>>>>>> >>>>>>>>>> >>>>>>>>>>> Hi R Users, >>>>>>>>>>> >>>>>>>>>>> I'm trying to plot a stacked barplot. Here is data: >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Sample Col1 Col2 Col3 >>>>>>>>>>>> Row1 -2 4 -1 >>>>>>>>>>>> Row2 3 -2 4 >>>>>>>>>>>> Row3 3 5 -2 >>>>>>>>>>>> Row4 4 1 -1 >>>>>>>>>>>> >>>>>>>>>>>> I'm using following R code: >>>>>>>>>>>> >>>>>>>>>>>> library(lattice) >>>>>>>>>>>> dta<-read.table("data.txt", header=TRUE, row.names="Sample") >>>>>>>>>>>> barchart(data.matrix(dta), >>>>>>>>>>>> horizontal=FALSE, >>>>>>>>>>>> stack=TRUE, >>>>>>>>>>>> col=2:4, >>>>>>>>>>>> auto.key=list(space="right", >>>>>>>>>>>> title=names(dimnames(dta))[2]) >>>>>>>>>>>> ) >>>>>>>>>>>> >>>>>>>>>>>> Above code is working fine, but I need help with: >>>>>>>>>>>> >>>>>>>>>>>> 1) Legend boxes have default colors, whereas I'm looking them to >>>>>>>>>>>> match >>>>>>>>>>>> with >>>>>>>>>>>> barplot colors (col=2:4). >>>>>>>>>>>> >>>>>>>>>>>> replace the line >>>>>>>>>>>> >>>>>>>>>>>> col = 2:4, >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> with >>>>>>>>>>> >>>>>>>>>>> par.settings = simpleTheme(col = 2:4), >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> 2) Can I increase scale for y axis, like currently it plotting >>>>>>>>>>> >>>>>>>>>>> -2,0,2,4,... >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> I would like it as -2,-1,0,1,... >>>>>>>>>>>> >>>>>>>>>>>> add the line >>>>>>>>>>>> >>>>>>>>>>>> scales = list(y = list(at = -2:8)), >>>>>>>>>>>> >>>>>>>>>>>> >>>>>>>>>>> or whatever tick locations you prefer. >>>>>>>>>>> >>>>>>>>>>> -Peter Ehlers >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>> Any help would be greatly appreciated, >>>>>>>>>>> >>>>>>>>>>> Thanks, >>>>>>>>>>> >>>>>>>>>>> >>>>>>>>>>>> Peng >>>>>>>>>>>> >>>>>>>>>>>> [[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. >>>>>>>>> >>>>>>>>> >>>>>>>>> [[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. >>>>>>>> >>>>>>>> David Winsemius, MD >>>>>>>> >>>>>>>> >>>>>>> Heritage Laboratories >>>>>>> West Hartford, CT >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>> >> >> > [[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.