本文小编为大家详细介绍“ggplot2怎么隐藏图例”,内容详细,步骤清晰,细节处理妥当,希望这篇“ggplot2怎么隐藏图例”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
其一利用引导元素guides实现:
代码:
library('ggplot2') library('reshape2') A = c("A","B","C","D","E") B = c(90,34,56,99,15) C = c(50,20,24,70,14) dat = data.frame(A,B,C) names(dat) = c("type","sample1","sample2") dat = melt(dat,variable.name="Sample",value.name = "Num") head(dat) p = ggplot(dat, aes(x = type,y = Num,fill = Sample))+ geom_bar(stat ="identity",width = 0.6,position = position_dodge(width=0.8))+ scale_fill_manual(values = c("red","blue"))+ labs(x = "",y = "", title = "test")+ geom_text(aes(label = dat$Num),position=position_dodge(width = 0.9),size = 5,vjust = -0.25)+ guides(fill = guide_legend(reverse = F))+ theme(plot.title = element_text(size = 25,face = "bold", vjust = 0.5, hjust = 0.5), legend.title = element_blank(), legend.text = element_text(size = 18, face = "bold"), legend.position = 'right', legend.key.size=unit(0.8,'cm')) print(p)
结合guides将fill生成的图例进行隐藏
p=p+guides(fill=F) p
图例消失。
如果涉及其他的几何对象geom,可能还有图例生成的其他方式,包括aes(color、size、shape)等,都可以通过guides(color=F,size=F...)等方式去调整图例。由此可见利用guides隐藏图例时进行局部隐藏,可以针对特定图例进行操作。
其二可以利用theme(legend.position="none"),将全局图例进行隐藏。譬如
library('ggplot2') library('reshape2') A = c("A","B","C","D","E") B = c(90,34,56,99,15) C = c(50,20,24,70,14) dat = data.frame(A,B,C) names(dat) = c("type","sample1","sample2") dat = melt(dat,variable.name="Sample",value.name = "Num") head(dat) p = ggplot(dat, aes(x = type,y = Num,fill = Sample))+ geom_bar(stat ="identity",width = 0.6,position = position_dodge(width=0.8))+ scale_fill_manual(values = c("red","blue"))+ labs(x = "",y = "", title = "test")+ geom_text(aes(label = dat$Num),position=position_dodge(width = 0.9),size = 5,vjust = -0.25)+ guides(fill = guide_legend(reverse = F))+ theme(plot.title = element_text(size = 25,face = "bold", vjust = 0.5, hjust = 0.5), legend.position = "none") print(p)
这种方法对所有图例同时隐藏,如果出现多图例操控,可以选则这种方法。
读到这里,这篇“ggplot2怎么隐藏图例”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注亿速云行业资讯频道。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。