On Apr 21, 2010, at 9:51 PM, zhenjiang xu wrote:
I tried that. It seems the bar width is already maximized, although
there is a lot of space between groups of bars. Thank you anyway.
I apologize. It was reproducible code. I missed the "values"
assignment. There is also a box.width argument which does affect how
the plot gets drawn, but the effects do not appear salutory. It
appears that the alignment of the bars gets shifted relative to the
labels. The barchart function cannot seem to deal with the completity
of the 2 * 5 factor crossed with a c(3,3,4) factor. On the other hand
that problem seems to be present in the original plot as well. Maybe
you should re-think the structure of the data?
Compare:
bc.factors <-
barchart(values ~ sequences | scores * factors , data = a,
groups = levels,
layout = c(2,3), box.ratio=1, box.width=1.5,
between = list(y=0.5),
clip = list(strip = 'off'),
par.strip.text = list(cex=0.7),
par.settings = list(fontsize=list(text=8)),
auto.key = list(rectangles = TRUE, space = 'right', columns
= 1),
draw.key = TRUE,
scales = list(x = list(rot = 45)))
--
David.
On Tue, Apr 20, 2010 at 10:16 AM, David Winsemius <dwinsem...@comcast.net
> wrote:
On Apr 20, 2010, at 9:46 AM, zhenjiang xu wrote:
Dear R users,
I am trying to use the following code to make a barchar plot. The
bars in
the plot turn out to be a little narrow. Is there any way to modify
the
width of the bars? Thank you!
library(lattice)
scores = gl(2, 5, label=c('Sensitivity', 'PPV'), length = 100)
sequences = gl(5, 1, label=c('Lemna minor', 'Dugesia japonica A',
'Gymnosporangium sabinae', 'Hymeniacidon sanguinea', 'Streptomyces
griseus'), length = 100)
levels = gl(10, 10, label = c('Cycle 1', 'Cycle 2', 'Cycle 3',
'Cycle 4',
'Order 1', 'Order 2', 'Order 3', 'MaxPairs = 20', 'MaxPairs = Average
Length', 'MaxPairs = 500'))
factors = c(rep('Cycles', 40), rep('Order', 30), rep('MaxPairs', 30))
values = rnorm(100) # this is toy data
a = data.frame(values, scores, sequences, levels, factors)
bc.factors =
barchart(values ~ sequences | scores * factors , data = a,
groups = levels,
layout = c(2,3),
between = list(y=0.5),
clip = list(strip = 'off'),
par.strip.text = list(cex=0.7),
par.settings = list(fontsize=list(text=8)),
auto.key = list(rectangles = TRUE, space = 'right', columns
= 1),
draw.key = TRUE,
scales = list(x = list(rot = 45)))
?barchart
Looking at the arguments to barchart in the help page I would have
guessed that box.ratio would do what you want. Since that is clearly
not reproducible code , (in the absence of test dataset of the
appropriate structure) I suppose guessing will remain the level of
my knowledge in this instance.
--
Best,
Zhenjiang
David Winsemius, MD
West Hartford, CT
--
Best,
Zhenjiang
David Winsemius, MD
West Hartford, CT
______________________________________________
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.