我有以下类型的数据:
Model No. Rank
1 1
2 2
1 1
3 1
1 2
2 2
3 2
1 3
2 1
2 2
3 3
3 3
现在我想要一个类似于下图的条形图:
我的图表有
因此,对于Model1:第一个柱将是等级1,y轴上的相应值将是2,因为模型1有两个等级1条目。对于模型2和3,类似的概念。
如何在R?
中实现这一目标答案 0 :(得分:3)
我会使用ggplot2
重新制作好的情节输出
require(ggplot2)
# creating sample data set | making it factors is crucial
set.seed(1337)
model.no<-rep(1:4,each=5)
rank<-sample(1:3,20,TRUE)
dat<-data.frame(model.no=factor(model.no),rank=factor(rank))
# Plot
ggplot(data=dat, aes(model.no,fill=rank))+
geom_bar(position="dodge") + xlab("Your x-label")+ylab("Your y-label")
这将为您提供以下输出
P.S .: 如果您不希望未使用等级的等级,请参阅以下两种方法: Don't drop zero count: dodged barplot
答案 1 :(得分:2)
set.seed(1)
mat <- matrix(sample(5:50, 15),
ncol=3,
nrow=5,
dimnames=list(paste("Rank", 1:5),
paste("Model", 1:3)))
barplot(mat,beside=TRUE,col=2:6, ylim=c(0,100))
legend("topright", legend=rownames(mat), fill=2:6))