分享

柱状图太丑怎么办?试试棒棒糖图

 微微悦明 2021-12-13

柱状图是我们展示多个变量比较时较常用的图型,常用的柱状图excel就可以实现,也可以做一定的美化。

可是,太千篇一律啦。如果我们希望我们的文章图更漂亮一点怎么做呢?可以试试棒棒糖图。

棒棒糖图,其实就是一根柱子加上一个圆,类似传统的柱状图,但是更为美观。

那么,我们如何绘制我们自己的棒棒糖图呢?

R语言,还是R语言(生信绘图最强工具)

这里分享一下R语言中绘制棒棒糖图的代码,大家感兴趣,可以尝试

###载入绘图所需的R包 ,如无,需提前安装library(ggpubr)###读入数据,即你想用什么数据画图。这里我使用R自带d额测试数据演示data("mtcars")dfm <- mtcarsdfm$cyl <- as.factor(dfm$cyl)dfm$name <- rownames(dfm)###画图ggdotchart(dfm, x = "name", y = "mpg", color = "cyl", # 按照cyl填充颜色 palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 修改颜色 sorting = "ascending",                 ###升序排列, 也可以选择 descending                  add = "segments", # 添加棒子 ggtheme = theme_pubr(), # 改变主题 xlab="" )

如果想再花哨一点,可以继续增加参数

比如,我想把棒棒糖图变成横着的

###在原画图代码的基础上,增加一行 rotate=TRUEggdotchart(dfm, x = "name", y = "mpg", color = "cyl", # 按照cyl填充颜色 palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 修改颜色 sorting = "ascending", ###升序排列, 也可以选择 descending add = "segments", # 添加棒子 xlab="" ,rotate=TRUE)

比如,我想分组展示,把相同组数据放在一起,可以增加group = "cyl"参数

##在源代码的基础s行,增加一行group = "cyl" cyl需替换成你自己数据Group列名称ggdotchart(dfm, x = "name", y = "mpg", color = "cyl", # 按照cyl填充颜色 palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 修改颜色 sorting = "ascending", ###升序排列, 也可以选择 descending add = "segments",                             # 添加棒子                       xlab="" ,rotate=TRUE,dot.size = 6, ###可以修改圆圈的大小group = "cyl")

细心的小伙伴肯定发现了上图中圈圈的大小也发生了变化,这个是通过修改dot.size = 6参数实现的呢。

遗憾的是,R语言画图还是命令行式的,目前笔者也没发现比较好的在线网站可以实现这个功能。小伙伴们如果有好资源,一起来分享啊~

长按关注




公众号名称:微微悦明

科学的乐趣是获得新知识的喜悦~

高通量测序、大数据病原微生物检测和监测健康大数据行业资讯记录与分享



    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约