ggplot导入图像顶部没有网格视觉

时间:2015-10-25 19:26:30

标签: r image ggplot2 grid

我尝试使用ggplot2在导入的图像上绘制一些数据。但是我无法在情节中获得视觉网格。 这是一个简化的例子来说明我的问题:

library(ggplot2)
library(scales)
library(jpeg)
library(scales)
library(grid)

#picture from internet
myurl <- "http://upload.wikimedia.org/wikipedia/commons/9/95/Apollonian_spheres.jpg"
z <- tempfile()
download.file(myurl,z,mode="wb")
pic <- readJPEG(z)
file.remove(z) # cleanup

x <- sample(1:10, replace=T, 10)
y <- c("a","b","c","d","e","f","g","h","i", "j")

df <- data.frame(y,x)

p <-ggplot(df, aes(y, x, fill=y)) + 
  annotation_custom(rasterGrob(pic, width=unit(1,"npc"), height=unit(1,"npc")), 
                    -Inf, Inf, -Inf, Inf) +
  geom_bar(stat = "identity", fill="darkorange",width=0.8, alpha=0.75 )+
  #geom_text(aes(label=data2$Attributes), vjust=1.5,colour="black")
  coord_flip()  + ggtitle("Something")+  theme_classic() +
  labs(y = "yyy", x = "xxx") + guides(fill = guide_legend(reverse=TRUE))+
  theme(axis.text.y = element_blank()) + theme(plot.title = element_text(size=20))+
  theme(axis.title.x = element_text(size = 16))+ theme(axis.title.y = element_text(size = 16))+
  theme(legend.text = element_text( size = 14)) + theme(legend.title = element_text( size = 16))+
  theme(panel.grid.major = element_line(colour = "white", linetype = "dotted"))
p

#without picture works fine

p <-ggplot(df, aes(y, x, fill=y)) + 
  geom_bar(stat = "identity", fill="darkorange",width=0.8, alpha=0.75 )+
  #geom_text(aes(label=data2$Attributes), vjust=1.5,colour="black")
  coord_flip()  + ggtitle("Something")+  theme_classic() +
  labs(y = "yyy", x = "xxx") + guides(fill = guide_legend(reverse=TRUE))+
  theme(axis.text.y = element_blank()) + theme(plot.title = element_text(size=20))+
  theme(axis.title.x = element_text(size = 16))+ theme(axis.title.y = element_text(size = 16))+
  theme(legend.text = element_text( size = 14)) + theme(legend.title = element_text( size = 16))+
  theme(panel.grid.major = element_line(colour = "black", linetype = "dotted"))
p

有什么想法吗?

0 个答案:

没有答案