【发布时间】:2010-09-01 21:52:26
【问题描述】:
我有一个包含(为了简化)评委、电影和评级的数据框(评级从 1 星到 5 星):
d = data.frame(judge=c("alice","bob","alice"), movie=c("toy story", "inception", "inception"), rating=c(1,3,5))
我想创建一个条形图,其中 x 轴是星数,每个条形的高度是该星的评分数。
如果我这样做
ggplot(d, aes(rating)) + geom_bar()
这很好用,只是条形图不在每个评级的中心,并且每个条形的宽度也不理想。
如果我这样做
ggplot(d, aes(factor(rating))) + geom_bar()
星数的顺序在 x 轴上被弄乱了。 (至少在我的 Mac 上;由于某种原因,默认排序在 Windows 机器上有效。)这是它的样子:
我试过了
ggplot(d, aes(factor(rating, ordered=T, levels=-3:3))) + geom_bar()
但这似乎没有帮助。
如何让我的条形图看起来像上图,但 x 轴上的顺序正确?
【问题讨论】: