水平条形图和平均值(表)

时间:2015-09-08 15:16:56

标签: r bar-chart

所以我有这些数据向量,代表平均值:

a1<-c(5.0, 4.0, 7.0, 5.3, 3.5)
names(a1)<-c(as.character(c("Power", "Strenght", "Price", "Perf.", "CCM")))

和此代码生成条形图

barplot(a1, main="Distribution",
        xlab="N", col=1:5,horiz=TRUE)
        legend("topright", 
        legend = names(a1), 
        fill = 1:5,
        cex = 0.75)

我的结果是

enter image description here

现在我想知道是否有办法,我可以编辑我的R代码并将其作为输出:

enter image description here

以上图片是我在互联网上找到的一份报告的打印屏幕。所以我想创建这些(或类似的)平均值和平均值表,例如战略计划技能将呈现CCM等堡垒?

1 个答案:

答案 0 :(得分:1)

这样的东西?

df <- data.frame(x=names(a1), y=a1)
library(ggplot2)
ggplot(df, aes(x,y, fill=x)) + geom_bar(stat="identity")+ coord_flip()+
  geom_text(aes(y=max(y)+0.5, label=y), color="black")+
  scale_fill_discrete(guide="none")+
  theme_bw()+theme(panel.grid=element_blank())

编辑:对OP评论的回应。

ggplot(df, aes(x,y, fill=x)) + geom_bar(stat="identity")+ coord_flip()+
  geom_text(aes(y=max(y)+0.5, label=y), color="black", hjust=0)+
  scale_fill_discrete(name="", guide=guide_legend(reverse=TRUE))+
  theme_bw()+
  theme(panel.grid=element_blank(), axis.title=element_blank(),
        axis.text.y=element_blank(), axis.ticks.y=element_blank())