Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

gradient breaks in a ggplot stat_bin2d plot

Tags:

I have a 2d histogram created with stat_bin2d in the ggplot2 package. I'd like to control both the number of breaks in the color gradient, as well as where those breaks are located. I'm sure I'm just overlooking something small, but I can't figure out how to control the breaks in the binning.

Example:

x <- rnorm(100)^2 y <- rnorm(100)^2 df <- data.frame(x,y) require(ggplot2) p <- ggplot(df, aes(x, y))  p <- p + stat_bin2d(bins = 20) p + scale_colour_gradient2(breaks=c(1,2,3,4,5,6)) 

This produces:

enter image description here

This plot only has 3 breaks at c(5,10,15) despite my futile attempt to put breaks at c(1,2,3,4,5,6))

Any hints?

like image 538
JD Long Avatar asked Jul 22 '11 17:07

JD Long


1 Answers

here is an example combining cut and bin2d:

p <- ggplot(df, aes(x, y, fill=cut(..count.., c(0,6,8,9,Inf)))) p <- p + stat_bin2d(bins = 20) p + scale_fill_hue("count") 

As there are many ways to make the breaks arbitrary, if you define clearly what you want, probably you can get a better answer.

enter image description here

like image 152
kohske Avatar answered Oct 13 '22 03:10

kohske