1.什么是簇状、堆积、填充柱形图?
如图所示,它们分别是簇状柱形图、堆积柱形图、填充比例柱形图。
顾名思义,簇状柱形图,每组的数据,每个单独成柱,但是都簇集到一块儿;堆积柱形图,是每组的数据都堆叠在同一个柱子上;填充比例柱形图,是在堆积柱形图的基础上,按照比例分布的。
2.绘图前的数据准备
demo数据可以在https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/bar/demo.txt下载。
包含2个维度的数据。每一行是一簇柱子,每一列用不同的颜色图例区分。
3. R语言怎么画簇状、堆积、填充柱形图
# 加载R包,没有安装请先安装 install.packages("包名")
library(ggplot2)
library(reshape2)
# 读取簇状、堆积、填充柱形图数据文件
df= read.delim("https://www.bioladder.cn/shiny/zyp/bioladder2/demoData/bar/demo.txt") # 这里读取了网络上的demo数据,将此处换成你自己电脑里的文件
# 把数据转换成ggplot常用的类型(长数据)
df = melt(df) # melt出自reshape2包
head(df) # 查看转换完成的数据的前几行
# X variable value
# 1 gene1 sample2 60
# 2 gene3 sample2 80
# 3 gene2 sample2 90
# 4 gene4 sample2 75
# 5 gene1 sample1 100
# 6 gene3 sample1 70
# 绘图
p = ggplot(df, aes(x=factor(X,levels =unique(X)), # 转化为因子,目的是显示顺序与文件顺序相同,否则按照字母顺序排序
y=value,
fill=factor(variable,levels = unique(variable)),
))+
labs(
x="", # 调整x轴名称
y="", # 调整y轴名称
fill="" # 调整图例名称
)
3.1 簇状柱形图
p + geom_bar(
stat="identity",
position=position_dodge(0.9),
width=0.8
)
3.2 堆积柱形图
p + geom_bar(
position="stack",
stat="identity"
)
3.3 填充柱形图
p + geom_bar
position="fill",
stat="identity"
)
4. BioLadder生信云平台在线绘制簇状、堆积、填充柱形图
不想写代码?可以用BioLadder生信云平台在线绘制簇状、堆积、填充柱形图。
网址:https://www.bioladder.cn/web/#/chart/53