温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何用R语言ggplot2画小提琴图

发布时间:2021-11-22 15:56:47 来源:亿速云 阅读:977 作者:柒染 栏目:大数据

如何用R语言ggplot2画小提琴图,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

今天推文的主要内容是介绍如何使用R语言绘制散点图并且添加拟合曲线和置信区间 

 补充材料Fig9 小提琴图

如何用R语言ggplot2画小提琴图  
image.png

数据格式如下

如何用R语言ggplot2画小提琴图  
image.png

需要示例数据可以直接在文末留言

 首先是读入数据
df<-read.csv("Single_Cell/violineplot-1.csv",header=T)
colnames(df)
head(df)
   最基本的小提琴图
library(ggplot2)
#help(package="ggplot2")
ggplot(df,aes(x=cell.type,y=Complexity))+
  geom_violin()
 
如何用R语言ggplot2画小提琴图  
image.png
 更改主题设置,包括
  • 去掉灰色背景
  • 去掉网格线
  • 添加坐标轴的线
ggplot(df,aes(x=cell.type,y=Complexity))+
  geom_violin()+
  theme(panel.grid = element_blank(),
        panel.background = element_blank(),
        axis.line = element_line())
 
如何用R语言ggplot2画小提琴图  
image.png
 将x轴文字标签更改为垂直
ggplot(df,aes(x=cell.type,y=Complexity))+
  geom_violin()+
  theme(panel.grid = element_blank(),
        panel.background = element_blank(),
        axis.line = element_line(),
        axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5))
 
如何用R语言ggplot2画小提琴图  
image.png
 更改坐标轴的标题,并给整幅图添加一个标题
ggplot(df,aes(x=cell.type,y=Complexity))+
  geom_violin()+
  theme(panel.grid = element_blank(),
        panel.background = element_blank(),
        axis.line = element_line(),
        axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5),
        plot.title = element_text(hjust=0.5))+
  labs(x=NULL,
       y=NULL,
       title = "Complexity")
 
如何用R语言ggplot2画小提琴图  
image.png
 填充颜色
ggplot(df,aes(x=cell.type,y=Complexity))+
  geom_violin(aes(fill=cell.type),show.legend = F)+
  theme(panel.grid = element_blank(),
        panel.background = element_blank(),
        axis.line = element_line(),
        axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5),
        plot.title = element_text(hjust=0.5))+
  labs(x=NULL,
       y=NULL,
       title = "Complexity")
 
如何用R语言ggplot2画小提琴图  
image.png
 叠加散点图
ggplot(df,aes(x=cell.type,y=Complexity))+
  geom_violin(aes(fill=cell.type),show.legend = F)+
  theme(panel.grid = element_blank(),
        panel.background = element_blank(),
        axis.line = element_line(),
        axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5),
        plot.title = element_text(hjust=0.5))+
  labs(x=NULL,
       y=NULL,
       title = "Complexity")+
  geom_jitter(size=0.5)
 
如何用R语言ggplot2画小提琴图  
image.png

这样的话论文中的图就复现出来了。上图叠加的散点图是矩形的,最近看到一个函数geom_sina()可以让散点图也以小提琴的形状显示,我们试一下用这个函数的效果,这个函数来自ggforce这个包,使用前需要先加载

library(ggforce)
ggplot(df,aes(x=cell.type,y=Complexity))+
  geom_violin(aes(fill=cell.type),show.legend = F)+
  theme(panel.grid = element_blank(),
        panel.background = element_blank(),
        axis.line = element_line(),
        axis.text.x = element_text(angle=90,hjust = 1,vjust=0.5),
        plot.title = element_text(hjust=0.5))+
  labs(x=NULL,
       y=NULL,
       title = "Complexity")+
  geom_sina(size=0.1,alpha=0.2)
 
如何用R语言ggplot2画小提琴图  
image.png

这样看起来比论文中的图好像好看一点

关于如何用R语言ggplot2画小提琴图问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI