俗话说“一图胜千言”,一张优美的图形往往比用数字和文字展现的统计分析结果蕴含的价值更高。而环状柱形图相较于普通的柱形图更加具有美观性,更能博取用户的眼球。下面将用R语言来绘制环状柱形图。

在这个过程中,我们会用到ggplot2包。
Step1: 准备数据
df<-data.frame(individual=paste("feature",seq(1,24),sep=""),value=c(24:1))
df$id<-seq(1,nrow(df))
我们生成了24个特征,每个特征值从1到24降序排列,并生成一列标识变量id,将该数据命名为df。
Step2: 调包画图
library(ggplot2)
p<-ggplot(df,aes(x=as.factor(id),y=value,fill=as.factor(id)))+
geom_bar(stat="identity")
p+coord_polar()+theme_bw()+ theme(legend.position="none")+ylim(-2,24)
其中,最关键的就是将ggplot画的条形图,改变成极坐标形式。,如图所示:

当然,我们可以通过将值按照特定顺序排列,所得到的环状柱形图更具有美观性,对于中间的圆,我们利用ylim函数进行调整,当下限减小时,对应的圆就会变大,读者可以根据自己的需求与数据来调整。
附录:
Circular barplot with groups – the R Graph Gallery (r-graph-gallery.com)
网友评论