柱状图是我们展示多个变量比较时较常用的图型,常用的柱状图excel就可以实现,也可以做一定的美化。 可是,太千篇一律啦。如果我们希望我们的文章图更漂亮一点怎么做呢?可以试试棒棒糖图。 棒棒糖图,其实就是一根柱子加上一个圆,类似传统的柱状图,但是更为美观。 那么,我们如何绘制我们自己的棒棒糖图呢? R语言,还是R语言(生信绘图最强工具) 这里分享一下R语言中绘制棒棒糖图的代码,大家感兴趣,可以尝试 ###载入绘图所需的R包 ,如无,需提前安装 library(ggpubr) ###读入数据,即你想用什么数据画图。这里我使用R自带d额测试数据演示 data("mtcars") dfm <- mtcars dfm$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=TRUE ggdotchart(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语言画图还是命令行式的,目前笔者也没发现比较好的在线网站可以实现这个功能。小伙伴们如果有好资源,一起来分享啊~ 长按关注 公众号名称:微微悦明 科学的乐趣是获得新知识的喜悦~ 高通量测序、大数据病原微生物检测和监测健康大数据行业资讯记录与分享 |
|