[R] ylim for graphic

From: Doran, Harold <HDoran_at_air.org>
Date: Tue 30 Aug 2005 - 02:58:47 EST

Dear list:

I have some data for which I am generating a series of barplots for percentages. One issue that I am dealing with is that I am trying to get the legend to print in a fixed location for each chart generated by the data. Because these charts are being created in a loop, with different data, my code searches the data to identify the maximum value in the data and then print the data values 5 points above the tallest bar.

Now, in situations where the largest value is 100, I needed to create the y-axis high enough to accommodate the legend w/o crowding up the data or the bars. So, I have ylim =c(0,200) and then place the legend at c(2,150). Visually, this places things exactly where I want them. But, it seems silly to have a y-axis labeled as high as 200%. I'm certain there is a smarter technique. Is it possible to place the legend at a location higher than 100 to avoid the crowding of the bars and the data and then also have the labels for the y-axis not print after the value 100%?

In looking at ?legend I didn't see an option that would address this. Below is some code that you can use to create a similar chart.


math.bar <- c(53,31,55,28,55,100)
apmxpmeet <- c(47, 50, 49, 50, 49, 46)
math.bar <- rbind(math.bar, apmxpmeet)
math.barplot <- barplot(math.bar, beside=T, col=c('blue','orange'), names=c('Grade \n 3','Grade \n 4','Grade \n 5','Grade \n 6','Grade \n 7','Grade \n 8'),
ylim=c(0,200), ylab="Percentage", xlab="Grade Level") tot <- round(math.bar,digits=0)
graph.max <- max(math.bar, apmxpmeet, na.rm=T) text(math.barplot, graph.max+5, tot, xpd = TRUE, col = c("blue", "orange") )
legend(2,150,legend=(c("Label A", "Average")), fill=c("blue","orange"))

        [[alternative HTML version deleted]]

R-help@stat.math.ethz.ch mailing list
https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html Received on Tue Aug 30 03:08:46 2005

This archive was generated by hypermail 2.1.8 : Fri 03 Mar 2006 - 03:39:57 EST