Reputation: 739
trying to plot a raster file using ggplot2 but the x axis values disappeared. I am grateful to any help
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)))
Upvotes: 0
Views: 2177
Reputation: 226097
As @joran hinted, change the last line to
scale_x_continuous(breaks = seq(-0.5,0.5,0.1),labels = seq(-0.5,0.5,0.1))
(I think the labels
argument is probably redundant in this case.) When you run seq(seq(...))
what are you getting is the result of running seq
on a vector, i.e. a vector of indices from 1 to the length of your vector (11). This vector doesn't overlap the x range of your data at all, so the breaks disappear ...
Upvotes: 3