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

Reply via email to