Hi, On Thu, Feb 21, 2013 at 4:12 AM, Alaios <ala...@yahoo.com> wrote: > Hello Ista, > I would like to thank you for your reply! > > Your code is indeed an improvement. > > This is my code now and there are two things still missing. > > DataToPlot<-matrix(data=runif(9),nrow=3,dimnames=list(seq(1,3),seq(4,6))) > require(reshape) > require(ggplot2) > require(raster) > > > cols<-colours() > cols<-cols[1:(nrow(DataToPlot)*ncol(DataToPlot))] > tdm<-melt(DataToPlot) > > p<- ggplot(tdm, aes(x = Var2, y = Var1, fill = factor(value))) + > labs(x = "MHz", y = "Threshold", fill = "Duty Cycle") + > geom_raster(alpha=.5) + > scale_fill_manual(values=cols,breaks=c("1","0.9","0.8","0.7","0.6","0.5","0.4","0.3","0.2","0.1","0"))
value looks like numbers, why are you converting it to a factor? > > My values go from 0 to 1 (might go slightly over the limits) and I want to > specify one color for the following ranges, 1, 0.9,0.8,.....,0 . That means > that values between the intervals will be "categorized" based on their > closest match. I don't really understand this. > What I also tried is to create a gray scale pallete as this is printer > friendly so the values from 0.9 to 0.1 get a greyish tone but I failed to do > that with colours. How about ggplot(tdm, aes(x = Var2, y = Var1, fill = value)) + labs(x = "MHz", y = "Threshold", fill = "Duty Cycle") + geom_raster(alpha=.5) + scale_fill_gradient(low="gray90", high="black") + theme_bw() > > Could you please help me have both > a. A fixed scale where values are categorized there > and Value is numeric, and trying to treat it like a category is only going to make things difficult. > b. a greyish pallete for the categories? Use scale_fill_gradient with different shades of gray as the low and high values, as shown above. Best, Ista > > I would like to thank you in advance for your reply > > Regards > Alex > > > ________________________________ > From: Ista Zahn <istaz...@gmail.com> > To: Alaios <ala...@yahoo.com> > Cc: R help <R-help@r-project.org> > Sent: Wednesday, February 20, 2013 4:54 PM > Subject: Re: [R] ggplot2 customizing a plot > > Hi, > > On Wed, Feb 20, 2013 at 9:33 AM, Alaios <ala...@yahoo.com> wrote: >> Dear all, >> I want some help improve my ggplot as following: >> Make the plottable area with grid, so is easy one to see where each box >> refers to x and y values. > > I don't think you can easily move the grid to the front, but you can > make the tiles transparent so the grid can be seen through them by > setting the alpha < 1. > >> Add a color bar but with fixed values, that I want to specify. > > use scale_fill_manual > >> How I can do those two? > > p<- ggplot(tdm, aes(x = Var2, y = Var1, fill = factor(value))) + > labs(x = "MHz", y = "Threshold", fill = "Duty Cycle") + > geom_raster(alpha=.5) + > scale_fill_manual(values=c("red", "blue", "green", "purple", > "orange", "pink", "tan", "violet", "yellow")) > > > Best, > Ista > > >> >> Before is some code what I have tried so far. >> >> Regards >> Alex >> >> >> DataToPlot<-matrix(data=seq(1:9),nrow=3,dimnames=list(seq(1,3),seq(4,6))) >> >> >> require(reshape) >> require(ggplot2) >> require(raster) >> >> tdm <- melt(DataToPlot) >> >> >> >> p<- ggplot(tdm, aes(x = Var2, y = Var1, fill = factor(value))) + >> labs(x = "MHz", y = "Threshold", fill = "Duty Cycle") + >> geom_raster() + >> scale_fill_discrete() >> >> [[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.