所以我有这些数据向量,代表平均值:
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代码并将其作为输出:
以上图片是我在互联网上找到的一份报告的打印屏幕。所以我想创建这些(或类似的)平均值和平均值表,例如战略计划技能将呈现CCM等堡垒?
答案 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())