ggplot2:条形图中的错误 - X轴显示不正确

时间:2015-04-10 08:27:28

标签: r ggplot2

我有一个数据显示2013年和2014年的总销售额。

yr_sales
    Year    sum_amount
1   2013    277125.0
2   2014    331721.8

我希望在X上绘制一个条形图,在Y轴上绘制销售。

ggplot(yr_sales, aes(x=Year, y=sum_amount)) +
  geom_bar(stat="identity", fill="lightblue", colour="black")

但我得到的只是乱糟糟的X轴: Bar Plot 1

我的预期输出是(正如我在MS Excel中得到的)

enter image description here

2 个答案:

答案 0 :(得分:2)

您的年份被视为数字变量。您希望显示数据的方式要求它是一个因素(即,它具有离散值,并且不能有一年2013.5)。

设置as.factor(Year)以获得x轴的美学映射:

ggplot(yr_sales, aes(x=as.factor(Year), y=sum_amount)) +
  geom_bar(stat="identity", fill="lightblue", colour="black")

您也可以更改数据本身,但如果您希望将年份作为实际数字变量,这可能会导致问题:

yr_sales$Year = as.factor(yr_sales$Year)

如果您执行了上述操作,则无需在美学映射中使用as.factor

答案 1 :(得分:0)

使用@slhck给出的答案我做了以下事情:

ggplot(yr_sales, aes(x=as.factor(Year), y=sum_amount,width=0.4)) +
    geom_bar(stat="identity", fill="blue", colour="black")

我的输出很完美......

enter image description here