在ggplot geom_bar上更改轴

时间:2018-01-15 20:44:43

标签: r ggplot2 coordinates

我有以下数据框

View(d.df)
Statements | Score | Time
-----------+-------+------
Need Ex    |4.159  | T1
Need Ex    |3.714  | T2
Interest   |2.937  | T1
Interest   |3.508  | T2

和我的情节

ggplot(data=d.df, aes(x=`Time`,y=Score, fill=`Time`)) +
  geom_bar(stat="identity") +
  scale_fill_manual(values=c("red","blue"))+
  facet_wrap(~Statements)

生成右图,但Y轴刻度不以零开始。我希望Y轴从零到4.5。 我尝试添加

+ scale_y_continuous(limits=c(0.0,4.5))

但我收到错误说:

Error: Discrete value supplied to continuous scale

如果我尝试

+ coord_cartesian(ylim=c(0,4.5))

坐标几乎保持不变(在底部添加一些填充)。 关于如何使用这些数据使我的轴从0到4.5成比例的任何想法?

1 个答案:

答案 0 :(得分:1)

我无法重现你的例子,因为Y在这里从0开始。

我最好的猜测是,您的分数列不是数字而是一个因子(这是错误所说的)。

在绘图之前,尝试使用d.df %>% mutate(Score = as.numeric(Score))将此列更改为数字。