在ggplot2的x轴上重复年份

时间:2018-07-04 11:55:54

标签: r ggplot2

我有一个数据框,我使用dplyr为某些数字变量创建了平均值。我按地点和年份将它们分组。我现在正在使用ggplot2在ggplot2中绘制趋势线,而delta只是关注均值差异的变量:

ggplot(data=df_byyear, aes(x=Year, y=delta)) +
  geom_line(aes(color=Siteid)) +geom_smooth(method=lm)

我遇到的问题是,它在x轴上添加了重复的年份,如下图所示:

chart results from ggplot2 showing the duplicate years

我已验证数据仅包含感兴趣的三年中的每一个的单个实例(请注意,我省略了Siteid,三年的每组都分配给了一个不同的站点。

capture of data - delta column is not shown

我希望它能提供足够的信息来帮助解决此问题,我从未见过这种情况发生,并且仍然是r ....谢谢的初学者!

1 个答案:

答案 0 :(得分:1)

就这样人们很容易找到,这就是答案:

ggplot似乎在沿其认为是连续尺度的范围内添加点(即2016.5、2017.5等)。我不确定为什么它们会显示为整数,也不确定为什么2017年仅显示一次。无论如何,解决此问题的方法是将以下内容添加到ggplot调用中:

scale_x_continuous(breaks=unique(df_byyear$Year))

这告诉ggplot仅对df_byyear $ Year中实际出现的数字(即整数)放置刻度线。