ggplot2绘图学习 一文带你掌握如何添加各种bar

之前我们学习了ggplot绘制单变量,两个连续变量的图形,两个离散型变量。对于一个离散型变量,一个连续型变量,有很多作图方式,包括箱图,点图等等

· geom_boxplot() for box plot
· geom_violin() for violin plot
· geom_dotplot() for dot plot
· geom_jitter() for stripchart
· geom_line() for line plot
· geom_bar() for bar plot

今天我们介绍一下如何添加bar

先建立一个数据

library(tidyverse)# ToothGrowth data setdf <- ToothGrowthdf$dose <- as.factor(df$dose)head(df, 3)

通过dose分组,求每一组的len值得平均值和标准差

df2 <- df %>% group_by(dose) %>% summarise( sd = sd(len), len = mean(len) )head(df2)

构建图层

f <- ggplot(df2, aes(x = dose, y = len, ymin = len-sd, ymax = len+sd))

有不同种类的bar

Cross bar

f + geom_crossbar()# 颜色分组f + geom_crossbar(aes(color = dose))# 手动设置颜色f + geom_crossbar(aes(color = dose)) + scale_color_manual(values = c("#999999", "#E69F00", "#56B4E9"))+ theme_minimal()# 手动设置填充色f + geom_crossbar(aes(fill = dose)) + scale_fill_manual(values = c("#999999", "#E69F00", "#56B4E9"))+ theme_minimal()

多个分组

df3 <- df %>% group_by(supp, dose) %>% summarise( sd = sd(len), len = mean(len) )head(df3)
f <- ggplot(df3, aes(x = dose, y = len, ymin = len-sd, ymax = len+sd))f + geom_crossbar(aes(color = supp))# 使用 position_dodge()避免重叠f + geom_crossbar(aes(color = supp), position = position_dodge(1))

Error bar

f <- ggplot(df2, aes(x = dose, y = len))f + geom_errorbar(aes(color = dose,ymin = len-sd, ymax = len+sd), width = 0.2)# 加上连线f + geom_line(aes(group = 1)) +geom_errorbar(aes(color = dose,ymin = len-sd, ymax = len+sd), width = 0.2)
# 加上柱子f + geom_bar(aes(color = dose), stat = "identity", fill ="white") + geom_errorbar(aes(color = dose,ymin = len-sd, ymax = len+sd), width = 0.2)# 只保留上面一半的barf + geom_bar(aes(color = dose), stat="identity", fill ="white") + geom_errorbar(aes(color = dose,ymin = len, ymax = len+sd), width = 0.2)

多重分组的Error bar

f <- ggplot(df3, aes(x = dose, y = len))# 柱状图+Error barf +geom_errorbar(aes(color = supp,ymin = len-sd, ymax = len+sd),position = "dodge")+ geom_bar(aes(fill = supp), stat = "identity", position = "dodge")
# 线图+Error barf + geom_line(aes(group = supp, color = supp)) + geom_errorbar(aes(color = supp,ymin = len-sd, ymax = len+sd),width=0.2,position = position_dodge(0.05))+ geom_point(aes(color = supp))

以垂直线表示的间隔

f <- ggplot(df2, aes(x = dose, y = len,   ymin=len-sd, ymax=len+sd))f + geom_linerange()f + geom_pointrange()

点图与error bars 结合

g <- ggplot(df, aes(x=dose, y=len)) + geom_dotplot(binaxis='y', stackdir='center')# 用 geom_crossbar()g + stat_summary(fun.data="mean_sdl", fun.args = list(mult=1), geom="crossbar", width=0.5)# 用 geom_errorbar()g + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1), geom="errorbar", color="red", width=0.2) + stat_summary(fun.y=mean, geom="point", color="red")# 用 geom_pointrange()g + stat_summary(fun.data=mean_sdl, fun.args = list(mult=1), geom="pointrange", color="red")

单基因泛癌分析

TCGA单基因免疫相关泛癌分析(应要求,对出图添加更细致的描述)

TCGA单基因免疫相关泛癌分析-进阶版本

资源贴

生信小课堂资源汇总

(0)

相关推荐

  • ggplot2作图小例子

    ggplot2绘制几个常用图形:直方图,密度曲线图,散点图,箱线图,小提琴图,折线图(重点在小提琴图) ggplot2直方图 library(ggplot2) ggplot(data = diamon ...

  • 柱状图加一笔即可完成升华

    写在前面 长期以来,柱状图由于展示信息较少:均值和标准差/方差/标准误.所以没少被人们所诟病,箱线图似乎在这方面完整碾压了柱状图,展示了整个数据的结构.但近期我在顶级期刊NATURE上发现了柱状图.但 ...

  • 在x方向上扩展ggplot`geom_ribbon()

    https://stackoverflow.com/questions/55290819/extend-ggplot-geom-ribbon-in-the-x-directionlibrary(tid ...

  • r语言ggplot2误差棒图快速指南

    原文链接:http://tecdat.cn/?p=5506 给直方图和线图添加误差棒 准备数据 这里使用ToothGrowth 数据集. library(ggplot2)  df <- Toot ...

  • 堆叠柱状图也要做统计-标记显著性

    写在前面 有时候我们展示的指标有一定的关系,希望可以使用堆叠柱状图展示.许多朋友们问询,这样如何添加显著性标记,因此本期结合EasyStat包给大家做一个演示. R 包导入 ## 导入包 librar ...

  • 直播!R语言入门和ggplot2科研数据可视化入门分享!就在今晚,欢迎大家参加呀!

    会议时间:2021/03/17 19:30-21:30 (GMT+08:00) 点击链接入会,或添加至会议列表:https://meeting.tencent.com/s/H9goXk0EWnqO 会 ...

  • 线圈图-ggplot

    geneal_cricle_ggplot 之前认为ggplot便是作图的全部,这个想法现在看来其实这是多么愚蠢啊,base不学,那就只能到这里了. 这是线圈图,原文来自:https://thought ...

  • EasyStat-如何提取数据+个性化出图

    写在前面 目前EasyStat包使用过程中有朋友问,如何修改图片,这里我想说,出图函数都会有出图数据的输出,大家只需要提取数据,即可自己在外面出图. 下面我以柱状图和箱线图为例,为大家演示一下. 实战 ...

  • ggplot2绘图学习 一文了解legend的各种调整

    之前我们学习了ggplot绘制单变量,两个连续变量的图形,两个离散型变量.一个离散型变量,一个连续型变量:包括箱图,点图等等· geom_boxplot() for box plot· geom_vi ...

  • 学习 | 一文带你看懂纺织品检测报告!

    在日常的纺织品检测中,您拿到检测报告是否也会有这样的疑虑呢?下面小编为您介绍下纺织品常规检测项目结果中的数据所代表的含义. 品质特性 1)  耐磨性 耐磨性的测试结果一般以外观变化.总摩擦次数.质量损 ...

  • ggplot2绘图学习:单变量+绘图背景

    R绘图往期回顾: R绘图:ggeconodist,基于ggplot2的另类箱图 R语言学习系列之"多变的热图" 蚂蚁金服在线可视化引擎 G2 R绘图:无与伦比的华丽风行(桑基图) ...

  • ggplot2绘图学习 两个连续性变量

    R绘图往期回顾: ggplot2绘图学习:单变量+绘图背景 R绘图:ggeconodist,基于ggplot2的另类箱图 R语言学习系列之"多变的热图" 蚂蚁金服在线可视化引擎 G ...

  • ggplot2绘图学习 两个离散型变量

    R绘图往期回顾: R绘图:patchwork 一页多图(2)通过数字,字母,#符号 控制布局 R绘图:patchwork 一页多图(1) ggplot2绘图学习 两个连续性变量 ggplot2绘图学习 ...

  • ggplot2绘图学习 箱图

    R绘图往期回顾: ggplot2绘图学习 两个离散型变量 R绘图:patchwork 一页多图(2)通过数字,字母,#符号 控制布局 R绘图:patchwork 一页多图(1) ggplot2绘图学习 ...

  • ggplot2绘图学习 小提琴图

    之前我们学习了ggplot绘制单变量,两个连续变量的图形,两个离散型变量.对于一个离散型变量,一个连续型变量,有很多作图方式,包括箱图,点图等等 · geom_boxplot() for box pl ...

  • ggplot2绘图学习 点图

    之前我们学习了ggplot绘制单变量,两个连续变量的图形,两个离散型变量.对于一个离散型变量,一个连续型变量,有很多作图方式,包括箱图,点图等等 · geom_boxplot() for box pl ...

  • ggplot2绘图学习 Stripcharts

    之前我们学习了ggplot绘制单变量,两个连续变量的图形,两个离散型变量.对于一个离散型变量,一个连续型变量,有很多作图方式,包括箱图,点图等等 · geom_boxplot() for box pl ...