我绘制了1999-2021年的数据,希望修剪图表区,以便看不到1998年或2023年的空白区域。我希望线条从1999年开始,到2021年结束,或者正好是我拥有的数据量。我尝试了以下几种方法:scale_x_discrete(),coord_cartesian(),我也尝试过使用limits=c(as.Date('1999 -01- 16'),as.Date('2021 -12- 16'),但我就是不能让它剪切掉我不想看到的图形区域。
有人能帮我吗?
下面是我的代码:
xcfoodtotal$date <- as.Date(xcfoodtotal$date)
p <- ggplot(data = xcfoodtotal, aes(x=date, y=consumption)) +
geom_line(color="turquoise4", size=1) +
geom_smooth(method=lm, se=TRUE, linetype = "dashed", col="blue", size=0.5) +
theme_bw() +
labs(x="", y="kg/Capita") +
theme(plot.title = element_text(hjust=0.5, size=15, face="bold"),
axis.text.x=element_text(angle=60, hjust=1, face = "bold"),
axis.text.y=element_text(hjust=1, face = "bold"),
text = element_text(size = 16, family="Helvetica"))
p + scale_x_date(date_breaks = "1 year", labels = date_format("%Y"))
1条答案
按热度按时间lmvvr0a81#
这是我的原始代码:
我解决这个问题的方法是给scale_x_date()添加一个属性:
这样就去掉了空白区域,也不会显示1998年或2022年。