ggplot2隐藏图例

这里简单介绍两个隐藏图例的方法 其一利用引导元素guides实现: 譬如借用www.omicsclass.com/article/92 分组柱状图代码: library('ggplot2')library('reshape2')A = c("A","B","C","D","E"...

这里简单介绍两个隐藏图例的方法

其一利用引导元素guides实现:

譬如借用www.omicsclass.com/article/92 分组柱状图代码:

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中实现
attachments-2018-08-dYeMbteo5b7e26dc6df37.jpg
结合guides将fill生成的图例进行隐藏

p=p+guides(fill=F)
p


图例消失。

如果涉及其他的几何对象geom,可能还有图例生成的其他方式,包括aes(color、size、shape)等,都可以通过guides(color=F,size=F...)等方式去调整图例。由此可见利用guides隐藏图例时进行局部隐藏,可以针对特定图例进行操作。
attachments-2018-08-qxDzjqT55b7e280dea830.jpg

其二可以利用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)


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

attachments-2018-08-SQyXh8fO5b7e29f427b40.jpg



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


更多生物信息课程:

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

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

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

4. 转录组数据怎么挖掘?学习链接:转录组标准分析后的数据挖掘转录组文献解读

5. 微生物16S/ITS/18S分析原理及结果解读OTU网络图绘制cytoscape与网络图绘制课程

6. 生物信息入门到精通必修基础课:linux系统使用perl入门到精通perl语言高级R语言入门R语言画图

7. 医学相关数据挖掘课程,不用做实验也能发文章:TCGA-差异基因分析GEO芯片数据挖掘GEO芯片数据标准化GSEA富集分析课程TCGA临床数据生存分析TCGA-转录因子分析TCGA-ceRNA调控网络分析

8.其他,二代测序转录组数据自主分析NCBI数据上传二代测序数据解读


  • 发表于 2018-08-23 11:30
  • 阅读 ( 20293 )
  • 分类:R

0 条评论

请先 登录 后评论
Daitoue
Daitoue

167 篇文章

作家榜 »

  1. omicsgene 702 文章
  2. 安生水 350 文章
  3. Daitoue 167 文章
  4. 生物女学霸 120 文章
  5. xun 82 文章
  6. rzx 78 文章
  7. 红橙子 78 文章
  8. CORNERSTONE 72 文章