水平条形图和平均值 (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())
所以我有这个数据向量,代表平均值:
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())