R语言基于ggpubr包绘制棒棒糖图

棒棒糖图有些类似我们传统的柱状图,由一根线条和一个圆形组成,比传统柱状图能表达更多信息。特别是在分类数目比较多的时候,如基因表达等,棒棒糖图更能很好的展示数据。今天我们使用R语言ggpubr包来绘制棒棒糖图,ggpubr包为ggplot的增强包,据说这是个为SCI而生的包,可以绘制出许多非常专业的SCI绘图,而已自带了很多期刊的配色方案,能做出编辑都称赞的图和配色,今后的我们将一一介绍。
在这里插入图片描述
今天,我们继续使用之前的肉类数据(关注公众号回复:肉类数据可以获得该数据),在既往文章中,我们已经对该数据进行了K均值聚类分析,我们以分析后的数据来绘制棒棒糖图。
先导入数据

library(ggpubr)
library(reshape)
bc<-read.csv("E:/r/test/roulei1.csv",sep=',',header=TRUE)
head(bc)
names(bc)

在这里插入图片描述
数据有5个参数,energy代表食物能量(卡路里),protein蛋白质,fat脂肪,calcium钙含量,iron铁含量,x1,是编号,x是是各种肉的名字,我就不一一解释,kmeans1.cluster是上次我们进行的一个肉类分类,我们把肉类分成了3类。
在这里插入图片描述
导入数据后,我们要对数据进行一下稍微的整理,先给部分列改个名字,kmeans1.cluster要转换成因子变量,不然后面没法弄。

bc<- rename(bc,c(X.1= "id",X="name",kmeans1.cluster="kind")) 
bc$kind<-factor(bc$kind)

在这里插入图片描述
整理好数据后(如上图)就可以开始作图了,假如我们想知道肉类之间的能量关系,以name和energy来作图
先来一个最基础的

ggdotchart(bc, x = "name", y ="energy",
           ggtheme = theme_bw())

在这里插入图片描述
然后可以进行分组表示,也有叫这个为克利夫兰点图,相对于棒棒糖图就是没有竖线,其中代码rotate = T为竖直方向,改为F就是水平方向

ggdotchart(bc, x = "name", y = "energy",
           group = "kind", color = "kind",
           palette =c('#999999','#E69F00','#56B4E9'),
           rotate = T,                                    #更改方向
           sorting = "descending",
           ggtheme = theme_bw(),
           )

在这里插入图片描述
进一步添加竖条和修改图形,palette为修改颜色

ggdotchart(bc, x = "name", y = "energy",
           color = "kind",                                # 按照kind填充颜色
           palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 修改颜色
           sorting = "ascending",                        #升序排列
           add = "segments",                             # 添加线条
           ggtheme = theme_pubr(),                        # 主题名称
           xlab="")

在这里插入图片描述
如果不想自己修改颜色,R包给自带多种期刊配色方案,palette =进行选择就可以了,注意选择了配色方案后,自行改颜色的代码就要去掉,不然会配色冲突

ggdotchart(bc, x = "name", y = "energy",
           color = "kind", size = 3,
           add = "segment",
           add.params = list(color = "lightgray", size = 1.5),   #修改线条参数
           position = position_dodge(0.3),                      #调整位置
           palette = "jco",                                     #使用内部自带的调色板
           ggtheme = theme_pubclean())

在这里插入图片描述
还可以给修改圆圈的大小和给竖线标上数字,这样更加清晰明了

ggdotchart(bc, x = "name", y = "energy",
           color = "kind", size = 6,
           palette = c("#00AFBB", "#E7B800", "#FC4E07"), # 修改颜色
           add = "segment",
           add.params = list(color = "lightgray", size = 1.5),   #修改线条参数
           position = position_dodge(0.3),                      #调整位置
           label = round(bc$id),                              #添加数字
           font.label = list(color = "white", size = 9, 
                             vjust = 0.5),               # 设置label参数
           ggtheme = theme_pubclean())

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天桥下的卖艺者

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值