我在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))
这会产生:
这个情节在c(5,10,15)
只有3次休息,尽管我徒劳地试图在c(1,2,3,4,5,6))
任何提示?
答案 0 :(得分:19)
这是一个结合cut
和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")
由于有许多方法可以使休息任意,如果你清楚地定义你想要的东西,可能你可以得到更好的答案。
答案 1 :(得分:13)
我认为你可能希望较少谈论scale_colour_gradient2()
,scale_fill_gradient2()
使用您的数据:
p + scale_fill_gradient2(breaks=c(1,2,3,4,5,6))
另请注意其他控件的可选参数low
,mid
和high
。