R语言如何绘制簇状、堆积、填充柱形图(16)

1.什么是簇状、堆积、填充柱形图?

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KAYXegzD-1652085339721)(D:\gitee\bioladder2\文档\知乎\簇状、堆积、填充柱形图.assets\image-20220106170531245.png)]如图所示,它们分别是簇状柱形图、堆积柱形图、填充比例柱形图。

顾名思义,簇状柱形图,每组的数据,每个单独成柱,但是都簇集到一块儿;堆积柱形图,是每组的数据都堆叠在同一个柱子上;填充比例柱形图,是在堆积柱形图的基础上,按照比例分布的。

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
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值