如果我的数据框类似于以下
a=data.frame(year=paste('FY',2001:2012,sep='.'),values=rnorm(12))
library(ggplot2)
以下图表有效
ggplot(a,aes(x=year,y=values,group=1))+geom_line()
但是下面没有。
ggplot(a,aes(x=year,y=values,group=1))+geom_line() +xlim(0,13)
如何扩展具有类别轴而非数字轴的ggplot数据的限制?
答案 0 :(得分:7)
您可以使用scale_x_discrete
和limits
参数通过c
将这些级别与原始级别相加来添加额外级别:
ggplot(a,aes(x=year,y=values,group=1))+
geom_line() +
scale_x_discrete(limits=c(levels(a$year),"FY.2013"))
答案 1 :(得分:4)
您可以使用NA添加新因子来扩展x范围。这有点棘手,但它完成了这项工作。我希望别人能得到更好的解决方案。
b=data.frame(year=paste('FY',2013,sep='.'),
values=NA)
a <- rbind(a,b)
ggplot(a,aes(x=year,y=values,group=1))+geom_line()