On Nov 26, 2009, at 8:30 PM, 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?
Read the help pages and the obvious links regarding your desired modification. In this case the link I followed was to simpleKey and the help page I got offered what seemed to me to be an obvious solution. -- David. > > 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 > > > > > > 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.