我stat_bin2d在ggplot2包中创建了一个2d直方图.我想控制颜色渐变中的断点数,以及这些断点所在的位置.我敢肯定我只是忽略了一些小事,但我无法弄清楚如何控制分档中的休息时间.
例:
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))
Run Code Online (Sandbox Code Playgroud)
这会产生:

c(5,10,15)尽管我徒劳地尝试休息,但这个情节只有3次休息c(1,2,3,4,5,6))
任何提示?
我有一些地理x,y,z数据,我的情节如下
p<-ggplot(aes(x=x,y=y,fill=z),data=my_data)
Run Code Online (Sandbox Code Playgroud)
然后我应用渐变
p<-p + scale_fill_gradient(low = "pink", high = "green")
Run Code Online (Sandbox Code Playgroud)
然后平铺并显示数据
p<-p + geom_tile()
p
Run Code Online (Sandbox Code Playgroud)
这有效并提供以下内容:

人们会想到,我可以scale_fill_gradient()用任何其他选项替换呼叫,例如
p<-p + scale_color_hue()
p<-p + scale_colour_gradientn(colours=c("#E5F5F9","#99D8C9","#2CA25F"))
p<-p + scale_colour_gradientn(colours = rainbow(7))
p<-p + scale_colour_brewer()
Run Code Online (Sandbox Code Playgroud)
会工作.
但他们没有,我得到的只是蓝色渐变.
任何关于为什么会这样的想法,以及我如何产生许多快乐的颜色?