为什么在指定断点时直方图的X轴值会消失?

时间:2013-02-05 15:36:33

标签: r ggplot2 histogram raster

尝试使用ggplot2绘制光栅文件,但x轴值消失。我很感激任何帮助

conne <- file("C:complete.bin","rb")
sd <- readBin(conne, numeric(), size=4,  n=1440*720, signed=TRUE)
y <-t(matrix((data=sd), ncol=1440, nrow=720))
f <- hist(y, breaks=30,main="sm")
f$counts <-f$counts/sum(f$counts)
dat <- data.frame(counts= f$counts,breaks = f$mids)
ggplot(dat, aes(x = breaks, y = counts, fill =counts)) + 
    geom_bar(stat = "identity",alpha = 0.8)+
    xlab("Bi")+ 
    ylab("Frequency")+
    scale_fill_gradientn(colours = rev(rainbow(20, s = 1, v = 1, start = 0, end = 1)[1:12]))+
    ggtitle("2010")+
    theme(axis.title.x = element_text(size = 20))+
    theme(axis.title.y =  element_text(size = 20))+
    theme(plot.title = element_text(size = rel(2.5)))+
    scale_x_continuous(breaks = seq(seq(-0.5,0.5,0.1)),labels = seq(seq(-0.5,0.5,0.1)))

enter image description here

1 个答案:

答案 0 :(得分:3)

正如@joran暗示的那样,将最后一行更改为

scale_x_continuous(breaks = seq(-0.5,0.5,0.1),labels = seq(-0.5,0.5,0.1))

(我认为labels参数在这种情况下可能是多余的。)当你运行seq(seq(...))时,你得到的是在向量上运行seq的结果,即向量从1到矢量长度的索引(11)。该向量根本不会与数据的x范围重叠,因此中断消失...