Excellent! Now I see that documentation in discrete_scale(). Thanks. *Ben Caldwell*
Graduate Fellow University of California, Berkeley 130 Mulford Hall #3114 Berkeley, CA 94720 Office 223 Mulford Hall (510)859-3358 On Thu, Feb 21, 2013 at 1:26 PM, Ista Zahn <istaz...@gmail.com> wrote: > Hi Ben, > > How about > > lim <- with(input, { > c(min(amplitude), > max(amplitude))}) > > > p <- ggplot(sub1, aes(x=x,y=y,fill=amplitude)) > > p + > geom_tile() + > scale_fill_gradientn("Custom > Colours", > colours=c("purple", > "blue", > "green", > "yellow", > "orange", > "red"), > limits=lim) > > # custom colours legend range and assigned colors is the same in the next > plot > dev.new() > > p <- ggplot(sub3, aes(x=x,y=y,fill=amplitude)) > p + > geom_tile() + > scale_fill_gradientn("Custom > Colours", > colours=c("purple", > "blue", > "green", > "yellow", > "orange", > "red"), > limits=lim) > > Best, > Ista > > On Thu, Feb 21, 2013 at 3:02 PM, Benjamin Caldwell > <btcaldw...@berkeley.edu> wrote: > > Dear R help, > > > > I have some readings in three dimensions (x, y, z) and an amplitude for > > each. I'd like to visualize the data using ggplot, using tile plots, as I > > have some additional point data I would like to eventually overlay on the > > tile plots. > > > > I would like to subset the data by sections, slices if you will, in the z > > dimension, and plot the data for that slice. > > > > I can do all of this, but am having a largish hangup - ggplot > automatically > > keys the fill gradient to the data which is assigned the fill aesthetic. > > This is a problem for me because I have different ranges of amplitudes > for > > different depth slices. So, I'm seeing the same color assigned to a > > different amplitude for each of my plots. > > > > I would like to assign the colors in the fill gradient to a range that I > > specify, not the range that is in the subset of the data, but I don't > know > > how. > > > > Some example data and code attached. > > > > Thanks > > > > Ben Caldwell > > > > --------------------------------------------- > > > > require(ggplot2) > > > > setwd("") > > > > input<-read.table("examplefile.txt", header=TRUE) > > str(input) > > > > head(input) > > > > # X x y z depth amplitude > > # 1 1 0.0125 0.0125 -0.025 1 623 > > # 2 2 0.0125 0.0375 -0.025 1 654 > > # 3 3 0.0125 0.0625 -0.025 1 685 > > # 4 4 0.0125 0.0875 -0.025 1 1598 > > # 5 5 0.0125 0.1125 -0.025 1 2200 > > # 6 6 0.0125 0.1375 -0.025 1 1917 > > > > depths<- with(input, sort(unique(depth))) > > depths > > # [1] 1 2 3 4 > > > > mysubset<-function(input, column.name, expression.to.match){ > > > > output <- input[column.name==expression.to.match,] > > > > return(output) > > } > > > > sub1 <- mysubset(input, input$depth, depths[1]) > > sub2 <- mysubset(input, input$depth, depths[2]) > > sub3 <- mysubset(input, input$depth, depths[3]) > > sub4 <- mysubset(input, input$depth, depths[4]) > > > > p <- ggplot(sub1, aes(x=x,y=y,fill=amplitude)) > > p + geom_tile() + scale_fill_gradientn("Custom > > Colours",colours=c("purple","blue","green","yellow","orange","red")) > > # custom colours legend range and assigned colors is different than in > the > > next plot > > > > p <- ggplot(sub3, aes(x=x,y=y,fill=amplitude)) > > p + geom_tile() + scale_fill_gradientn("Custom > > Colours",colours=c("purple","blue","green","yellow","orange","red")) > > > > ______________________________________________ > > 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.