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

Horizontal barplot and average values (table)

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

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)

而我的结果是

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

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

是这样的吗?

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())