需要的文件格式
制表符的txt、csv格式,Excel也可以,但需要加载xlxs
包
install.packages("xlsx") #安装xlxs包
读取目标表格
group <-read.table("boxplot.txt",header = T) #header 表示需要表头
一、ggplot2作图 (复杂)
-
给某一个基因作图,如
ANKLE1
library(ggplot2)
#x轴是类型,Y轴是基因表达量
ggplot(group, aes(type,ANKLE1,fill=type))+geom_boxplot() #第一种简化代码 fill表示填充
ggplot(group, aes(type,ANKLE1,color=type))+geom_boxplot() #第二种简化代码 color表示空白颜色
ggplot(group, aes(type,ANKLE1,color=type))+geom_boxplot()+geom_jitter() #第三种简化代码 加点
添加标准误
ggplot(group, aes(type,ANKLE1,color=type))+stat_boxplot(geom = "errorbar")+geom_boxplot()+geom_jitter() #第三种简化代码 加点
#给两组添加显著性标记
library(ggsignif) #加载包
ggplot(group,aes(type,ANKLE1,fill=type))+geom_boxplot()+geom_signif(comparisons = list(c("Normal","Tumor"))) #list 添加需要比较的组
-
给所有基因作图并分面显示
首先进行数据转换
,也就是把所有基因全部合并成一列
library(tidyr)
library(reshape2)
mydata<-melt(group, #待转换的数据集名称
id.vars=c("sample","primary_site","type"), #要保留的主字段
variable.name="Group", #转换后的分类字段名称(维度)
value.name="value" #转换后的度量值名称
)
所有基因作图并
分面
ggplot(mydata, aes(type,value,color=type)) #可以用color,也可以用fill
+geom_boxplot() #作图
+geom_jitter() #加点
+facet_wrap(~Group, scales = "free") #分面,~后面接长数据表头,scales表示单独分面,如果不设置则默认所有数据按值一起分面
+geom_signif(comparisons = list(c("Normal","Tumor"))) #显著性标记
+theme_bw() #设置背景
二、ggpurb作图 (简单)
ggboxplot(mydata,"type","value",color = "type",#记得有引号
palette = "ncp",#有各种杂志风格,如“npg", "aaas", "lancet", "jco", "ucscgb", "uchicago", "simpsons" 和 "rickandmorty".
add = "jitter",shape="type", #加点,按类型分不同的点
facet.by = "Group",scale="free") #分面
+stat_compare_means(method = "t.test") #加统计显著,括号里不填默认是非参数检验
ggboxplot(mydata,"type","value",color = "type",#记得有引号
palette = "ncp",#有各种杂志风格,如“npg", "aaas", "lancet", "jco", "ucscgb", "uchicago", "simpsons" 和 "rickandmorty".
add = "jitter",shape="type", #加点,按类型分不同的点
facet.by = "Group",scale="free") #分面
+stat_compare_means() #加统计显著,括号里不填默认是非参数检验