[R] Bin Category Labels on Axis

jproville jeremy.proville at mail.mcgill.ca
Wed Jun 17 16:03:55 CEST 2009


David, 
It turns out that the 'at' argument takes the values 1,70,by=5, while the
'label' spans -36,33,by=5 
Just took a little trial and error, but the graph now looks great. Cheers! 

Jeremy



jproville wrote:
> 
> Hi, 
> 
> I'd really appreciate if someone could give me some help or advice about
> this - I've tried everything I know and am clueless about how to proceed!
> 
> I've written a script to import ASCII data of raster maps, bin them into
> categories, calculate the mean values within these bins and plot the two
> in a simple graph. I'm running into problems with my x axis, as R cannot
> add the bin categories as labels and simply outputs the factor values of
> the number of bins. 
> 
> In much more detail:
> One set of data is fractional values for the amount of cropland in a
> designated area (raster cell). The second is annual average temperature
> data, in the same format. I import these using:
> xRaw<-scan(".../Temp.txt")
> yRaw<-scan(".../Cropland.txt")
> 
> and then designate cells with values of -9999 as NAs:
> x<-ifelse(xRaw==-9999,NA,xRaw)
> y<-ifelse(yRaw==-9999,NA,yRaw)
> 
> Then, I compile them into a 2 column data frame, and exclude the NA
> values:
> zRaw<-data.frame(x,y)
> z<-na.exclude(zRaw)
> 
> I am then left with data frame 'z' which is a refined list of data. Using
> the 'cut' function, I assign each row into one of 69 different bins:
> z$bins<-cut(z$x, breaks=c(-36:33), include.lowest=TRUE)
> 
> Each bin is now 1 degree Celsius wide. Within each one, I calculate the
> mean value of the corresponding fractional cropland data:
> a<-tapply(z$y, z$bins, mean) 
> 
> Object 'a' now contains each bin category and the associated mean cropland
> values, so 69 points in total. 
> 
> 
> Now, a problem arises when I try and plot these values using:
> plot(a, xlab="Temperature", ylab="Fraction of Cropland", pch=20)
> What happens is that R intuitively labels my x-axis from 1-70, which
> corresponds to the bin factor values that were returned when the 'cut'
> function was used. I would like to simply label the x-axis with my
> temperature values, from -36 degrees to 33 degrees, instead of having
> numbers 1-69. How can I do this?? 
> 
> Thanks,
> 
> Jeremy Proville
> M.Sc. Candidate
> Bioresource Engineering, McGill University
> 

-- 
View this message in context: http://www.nabble.com/Bin-Category-Labels-on-Axis-tp24042325p24074354.html
Sent from the R help mailing list archive at Nabble.com.




More information about the R-help mailing list