R 如何将ggplot直方图x轴间隔映射到固定调色板?

R 如何将ggplot直方图x轴间隔映射到固定调色板?,r,colors,ggplot2,histogram,R,Colors,Ggplot2,Histogram,我试图将我的ggplot2柱状图分层为固定的间隔,并根据特定的调色板给它们上色:'x在scale\uu系列中有一个drop参数用于空层: NoOfElement <- 500; MyBreaks <- c(-Inf, seq(4, 16, by=2), Inf) MyColours <- c("black", "blue", "yellow", "green", "gray", "brown", "purple", "red") set.seed(2) c <- d

我试图将我的ggplot2柱状图分层为固定的间隔,并根据特定的调色板给它们上色:
'x在
scale\uu
系列中有一个
drop
参数用于空层:

NoOfElement <- 500; MyBreaks <- c(-Inf, seq(4, 16, by=2), Inf) 
MyColours <- c("black", "blue", "yellow", "green", "gray", "brown", "purple", "red")

set.seed(2) 
c <- data.frame(a=rnorm(NoOfElement, 10, 2), b=rep(NA, NoOfElement)) 
c$b <- cut(c$a, MyBreaks)

p <- ggplot( c, aes(x=c$a, fill=c$b) ) + geom_histogram( binwidth=0.2 ) + 
    scale_fill_manual(breaks = levels(c$b), values = MyColours, 
                      name = "X Intervals", drop=FALSE)

NoOfElement这完美地回答了我的问题。非常感谢您的快速回复!
NoOfElement <- 500; MyBreaks <- c(-Inf, seq(4, 16, by=2), Inf) 
MyColours <- c("black", "blue", "yellow", "green", "gray", "brown", "purple", "red")

set.seed(2) 
c <- data.frame(a=rnorm(NoOfElement, 10, 2), b=rep(NA, NoOfElement)) 
c$b <- cut(c$a, MyBreaks)

p <- ggplot( c, aes(x=c$a, fill=c$b) ) + geom_histogram( binwidth=0.2 ) + 
    scale_fill_manual(breaks = levels(c$b), values = MyColours, 
                      name = "X Intervals", drop=FALSE)