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))+

#####这部分的position_dodge(width=0.8)大于宽width = 0.6点,可以使得分组内柱子之间有缝隙,而不是贴合。  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")+

###########文字的position设置类似bar的position  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)

可以获得如下结果,其中图例的生成是由aes(fill)生成,而图例细节调整时在theme中实现

结合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))+

#####这部分的position_dodge(width=0.8)大于宽width = 0.6点,可以使得分组内柱子之间有缝隙,而不是贴合。  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")+

###########文字的position设置类似bar的position  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)

这种方法对所有图例同时隐藏,如果出现多图例操控,可以选则这种方法。

如果想提升自己的绘图技能,我们推荐:R语言绘图基础(ggplot2)

更多生物信息课程:

1. 文章越来越难发?是你没发现新思路,基因家族分析发2-4分文章简单快速,学习链接:基因家族分析实操课程、基因家族文献思路解读

2. 转录组数据理解不深入?图表看不懂?点击链接学习深入解读数据结果文件,学习链接:转录组(有参)结果解读;转录组(无参)结果解读

3. 转录组数据深入挖掘技能-WGCNA,提升你的文章档次,学习链接:WGCNA-加权基因共表达网络分析

你可能感兴趣的:(ggplot2不要图例)