gradient breaks in a ggplot stat_bin2d plot
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(br开发者_StackOverfloweaks=c(1,2,3,4,5,6))
This produces:
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?
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.
Me thinks you probably want the less talked about cousin of scale_colour_gradient2()
, scale_fill_gradient2()
Using your data:
p + scale_fill_gradient2(breaks=c(1,2,3,4,5,6))
Also note the optional parameters low
, mid
, and high
for additional controls.
精彩评论