ggplot stat_bin2d图中的渐变中断

时间:2011-07-22 17:37:27

标签: r ggplot2

我在stat_bin2d包中使用ggplot2创建了一个二维直方图。我想控制颜色渐变中的断点数,以及这些断点所在的位置。我敢肯定我只是忽略了一些小事,但我无法弄清楚如何控制分档中的休息时间。

示例:

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))

这会产生:

enter image description here

这个情节在c(5,10,15)只有3次休息,尽管我徒劳地试图在c(1,2,3,4,5,6))

进行休息

任何提示?

2 个答案:

答案 0 :(得分:19)

这是一个结合cutbin2d的示例:

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")

由于有许多方法可以使休息任意,如果你清楚地定义你想要的东西,可能你可以得到更好的答案。

enter image description here

答案 1 :(得分:13)

我认为你可能希望较少谈论scale_colour_gradient2()scale_fill_gradient2()

的堂兄

使用您的数据:

p + scale_fill_gradient2(breaks=c(1,2,3,4,5,6))

另请注意其他控件的可选参数lowmidhigh

enter image description here