快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

怎样使用R语言ggplot2画柱形图

这期内容当中小编将会给大家带来有关怎样使用R语言ggplot2画柱形图,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

创新互联-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、眉山服务器托管、等保安全、私有云建设等企业级互联网基础服务,联系电话:18980820575

今天要模仿的图片来自于论文 Core gut microbial communities are maintained by beneficial interactions and strain variability in fish。期刊是 Nature microbiology

怎样使用R语言ggplot2画柱形图

今天重复的图片是Figure3中的柱形图怎样使用R语言ggplot2画柱形图

 

首先是第一个小图:柱形图,误差棒,显著性P值

 第一步是模拟数据
怎样使用R语言ggplot2画柱形图  
image.png

数据是三列:第一列用来做X,第二列做Y,第三列做误差条

 读入数据
df1<-read.csv("Figure3_d.csv",header=T)
   ggplot2基本的柱形图,利用分组信息填充颜色
library(ggplot2)
ggplot(df1,aes(x=group,y=value))+
  geom_col(aes(fill=group),color="black")
 
怎样使用R语言ggplot2画柱形图  
image.png
 接下来是简单地美化,包括调整配色,扩大y轴范围,去掉灰色背景,柱子贴底,去掉图例,更改x和y轴的标题,添加总标题,添加辅助线,添加误差线等等。

下面的代码就不详细介绍了,争取录制一期视频来介绍

ggplot(df1,aes(x=group,y=value))+
  geom_hline(yintercept = 0.5,lty="dashed")+
  geom_hline(yintercept = 1,lty="dashed")+
  geom_col(aes(fill=group),color="black")+
  theme_bw()+
  theme(panel.background = element_blank(),
        panel.grid = element_blank(),
        plot.title = element_text(hjust=0.5),
        legend.position = "none")+
  scale_y_continuous(expand = c(0,0),
                     limits = c(0,1.5))+
  scale_x_discrete(labels=c("Positive\ninteractions","Negative\ninteractions"))+
  annotate("segment",x=1,y=0.8,xend=1,yend=1)+
  annotate("segment",x=2,y=0.4,xend=2,yend=0.5)+
  labs(x=NULL,
       y="Absolute fold change\nin growth from co-cultures\ncompared to monocultures",
       title = "Average growth fold change in\nco-cultures")+
  annotate("segment",x=1.1,y=1.2,xend=1.9,yend=1.2)+
  annotate("segment",x=1,y=1.15,xend=1.1,yend=1.2)+
  annotate("segment",x=1.9,y=1.2,xend=2,yend=1.15)+
  annotate("text",x=1.5,y=1.3,label="P=0.0006")+
  scale_fill_manual(values = c("#ff8080","#90bff9"))
 
怎样使用R语言ggplot2画柱形图  
image.png
 

接下来是第二个小图:有正值和负值的柱形图

 第一步还是构造数据
x<-1:28
y<-sample(-100:150,28,replace = F)
df2<-data.frame(x,y)
df2$group<-ifelse(df2$y>0,"A","B")
   基本的柱形图
df2$x<-factor(df2$x)
ggplot(df2,aes(x,y))+
  geom_col(aes(fill=group),color="black")
 
怎样使用R语言ggplot2画柱形图  
image.png
 接下来是美化:包括去掉背景,更改配色,调整x轴标签的角度等等
df2$group<-factor(df2$group,
                  labels = c("Synergistic interactions",
                             "Non-synergistic interactions"))
ggplot(df2,aes(x,y))+
  geom_hline(yintercept = -50,lty="dashed")+
  geom_hline(yintercept = 50,lty="dashed")+
  geom_hline(yintercept = 100,lty="dashed")+
  geom_col(aes(fill=group),color="black")+
  theme_bw()+
  theme(panel.background = element_blank(),
        panel.grid = element_blank(),
        axis.text.x = element_text(angle = 90,hjust=0.5,
                                   vjust = 0.5),
        plot.title = element_text(hjust = 0.5),
        legend.position = "bottom",
        legend.title = element_blank())+
  scale_y_continuous(expand=c(0,0),
                     limits=c(-100,150),
                     breaks = c(-100,-50,0,50,100,150))+
  labs(x="Pairwise interactions",
       y="Percentage change from\nmonoculture",
       title = "Synergistic versus non-synergistic\ninteractions")+
  scale_fill_manual(values = c("#ff8080","#90bff9"))
 
怎样使用R语言ggplot2画柱形图  
image.png
 最后是拼图
library(cowplot)
pdf("Rplot11.pdf",width = 8,,height = 4)
plot_grid(p1,p2,ncol = 2,nrow=1,labels = c("d","e"))
dev.off()
 
怎样使用R语言ggplot2画柱形图  

上述就是小编为大家分享的怎样使用R语言ggplot2画柱形图了,如果刚好有类似的疑惑,不妨参照上述分析进行理解。如果想知道更多相关知识,欢迎关注创新互联行业资讯频道。


文章题目:怎样使用R语言ggplot2画柱形图
URL地址:http://6mz.cn/article/igdidj.html

其他资讯