美文网首页生物信息学与算法R语言作图技术
ggplot2 / ggpubr 实现发散型棒棒糖图

ggplot2 / ggpubr 实现发散型棒棒糖图

作者: 生信编程日常 | 来源:发表于2020-04-30 19:05 被阅读0次

棒棒糖图 (Lollipop Chart),其实是一种特殊的barplot,只是将bar转变成了line和dot。效果如下两图所示:


1. ggplot2实现

以mtcars数据集为例:

library(ggplot2)
data(mtcars)
mtcars$cyl <- factor(mtcars$cyl)
mtcars <- mtcars[order(mtcars$mpg), ]
mtcars$name <-  rownames(mtcars)
mtcars$name <- factor(mtcars$name, levels = rownames(mtcars))

ggplot(mtcars, aes(x=name, y=mpg, color = cyl, label=mpg)) + 
  geom_point(stat='identity', size=6)  +
  geom_segment(aes(y = 0, 
                   x = name, 
                   yend = mpg, 
                   xend = name), 
               color = "gray") +
  geom_text(color="white", size=2) +
  labs(title="Lollipop Chart") + 
  theme_bw() + 
  coord_flip() 

可修改geom_segment(aes(y = 20))修改中间的基准线:


2. ggpubr实现
library(ggpubr)

ggdotchart(mtcars, x = "name", y = "mpg",
           color = "cyl",                               
           sorting = "ascending",     # ggpubr中可以直接排序                   
           add = "segments",                             
           xlab=""
)

rotate转变为垂直方向,group实现分组,dot.size修改点的大小:

library(ggpubr)

ggdotchart(mtcars, x = "name", y = "mpg",
           color = "cyl",                               
           sorting = "ascending",                        
           add = "segments",                             
           xlab="", 
           rotate = TRUE,
           group = "cyl", 
           dot.size = 3 
           
)

欢迎大家关注公众号!


相关文章

  • ggplot2 / ggpubr 实现发散型棒棒糖图

    棒棒糖图 (Lollipop Chart),其实是一种特殊的barplot,只是将bar转变成了line和dot。...

  • R语言可视化(三十一):棒棒糖图绘制

    31. 棒棒糖图绘制 清除当前环境中的变量 设置工作目录 使用ggplot2包绘制棒棒糖图 使用ggpubr包绘制...

  • 9.图片保存

    ggplot2和ggpubr系列 通用保存方式 pdf("iris_box_ggpubr.pdf")...... ...

  • R使用笔记: ggplot2的一顿骚操作...

    本次笔记内容:使用ggplot2及ggrepel绘制主图和副图多种方法整合主图与副图:ggpubr: ggaran...

  • ggpuar包,绘制CNS级美图

    ggpubr 是基于ggplot2 开发出来的包,目的是为了简化ggplot2的操作,便于画出满足论文出版要求的图...

  • 折腾一个柱状图

    写在前面 还是想要放弃ggpubr做图了,主要问题是这东西和ggplot2体系的不兼容。因为ggpubr中好多变量...

  • 03-08

    06 R语言作图 图就是数据,数据就是图 常用可视化R包 作图:base,ggplot2, ggpubr;拼图:p...

  • boxplot

    library(ggplot2) library(magrittr) library(ggpubr) a=read...

  • R语言可视化(六):饼图绘制

    06.饼图绘制 清除当前环境中的变量 设置工作目录 基础pie函数绘制饼图 ggplot2包绘制饼图 ggpubr...

  • ggpie饼图绘制(ggpubr)

    前段时间,使用ggplot2绘制饼图时,不停调整参数,图例,浪费许多时间。这几天刚好看到ggpubr包中有绘制饼图...

网友评论

    本文标题:ggplot2 / ggpubr 实现发散型棒棒糖图

    本文链接:https://www.haomeiwen.com/subject/esytghtx.html