コードを実行するにはいくつかの問題があります。まず、取得するために示したデータからデータを溶かす部分を見逃したと思いますc.data
:
c.data <- melt(dat, id.var="Subject")
次に、次のようにするsubject
必要がありますSubject
。
x
第 3 に、 と の両方のy
引数を美学に渡すため、 を行う必要がありますstat = "identity"
。そうしないと、デフォルトの引数が であるため、警告が表示されますstat = "bin"
。
最後に、必要な方法でプロットを並べ替えるには、Subject
それに応じて因子水準を設定する必要があります。したがって、完全なコードは次のとおりです。
# set factor levels
dat$Subject <- factor(dat$Subject, levels = dat$Subject[order(dat$Marks1)])
require(reshape2)
c.data <- melt(dat, id.var="Subject")
require(plyr)
n.data = ddply(c.data,.(Subject), transform, pos = cumsum(value) - 0.5*value)
require(ggplot2)
plot = ggplot(n.data, aes(x = Subject, y = value)) +
geom_bar(stat = "identity", colour = "#000000", aes(fill = variable)) +
geom_text(aes(label = value, y = pos), size = 3, face="bold", colour="white") +
scale_fill_manual(values=c("#FFFFFF", "#000000")) +
scale_y_continuous(limits=c(0, 100), breaks=seq(0,100, by = 10)) +
theme(axis.line = element_line(),
axis.text.x=element_text (angle=60,hjust=1,colour="black"),
axis.text.y=element_text(colour="black"),
axis.title.x = element_blank(),
axis.title.y = element_blank(),
panel.background = element_blank(),
axis.ticks=element_blank()) +
labs(fill="") + scale_colour_discrete(breaks=NULL)
そして、ここにプロットがあります:
