我想在两年内制作一个躲避的条形图,并将收入数字放在相应的栏上.在尝试了一些我在这里找到的建议之后,我仍然无法得到我想要的东西(所有数字都显示在中间条/列的中间而不是均匀分布).任何建议将不胜感激.谢谢!
我的最新尝试
# Disable scientific notation options("scipen" = 100,"digits" = 1) censusData <- structure(list(Year = c(2012L,2007L,2012L,2007L ),County = c("A","A","B","C","Sum","Sum"),variable = structure(c(1L,1L,2L,3L,3L),.Label = c("Total_Revenue","Crop_Revenue","Livestock_Revenue" ),class = "factor"),value = c(1645.51,1203.806,68.911,60.949,923.163,525.918,2637.584,1790.673,1069.497,787.459,47.157,38.735,825.050228,470.024,1941.704228,1296.218,576.013,416.347,21.754,22.214,98.112772,55.894,695.879772,494.455 )),row.names = c(NA,-24L),.Names = c("Year","County","variable","value"),class = "data.frame") # Dodged barplot qbarplot_yr_1 <- ggplot(censusData,aes(County,value)) + facet_grid(. ~ Year) + geom_bar(aes(fill = variable),position = "dodge",stat="identity") + xlab("County") + ylab("Revenue (Million USD)") + scale_fill_discrete(name = 'Legend',labels=c("Total","Crop","Livestocks")) + theme(axis.ticks.x = element_blank()) + theme(panel.background = element_rect(colour='dark grey')) + theme(strip.text.x = element_text(size = 20,face="bold"),strip.background = element_rect(colour="dark grey")) # Add text on top of the bar qbarplot_yr_1 + geom_text(data = censusData,aes(x = County,y = value + 150,label = format(value,nsmall = 0,scientific = FALSE)),color="blue")
解决方法
您还需要躲避文本值.尝试
qbarplot_yr_1 + geom_text(data = censusData,group=variable,digits=1,color="blue",position=position_dodge(.9),hjust=.5)
我们还需要group =所以它知道要躲避哪些值.