我有一个数据框:
df2<-data.frame(taux=c(1.30,1.35,1.78,2.17,2.25,0.78,1.35,1.53,1.87,1.78),
date=c("Y","M6","M3","M1","D1","Y","M6","M3","M1","D1"),
Pays=c("US","US","US","US","US","Canada","Canada","Canada","Canada","Canada"))
我想用facet网格制作一个图表,其中“Pays”代表因素,而“date”代表abscisse。我只想在他的方面“支付”的路线。一些数据具有NA值。
实际上,我做了
temp<-filter(df2,Pays=="US")
ylabs<-subset(temp,date==head(date,1))$Pays
yvals<-subset(temp,date==head(date,5))$taux[2]
temp<-transform(temp,date=factor(date))
us <- ggplot(temp,aes(x=date,y=taux))+
geom_line(aes(group=Pays),colour="black")+
geom_point(colour="white",size=8)+
geom_text(aes(label=taux),size=3) +
scale_y_continuous(name="",breaks=yvals+0.3,labels=ylabs)
us
这对于每个“支付”,所以我想要相同的图形样式,但在小平面网格中,“支付”在右侧(或左侧)因子。我所有的尝试都完成了每个方面的所有价值......
如果要调整构面标签的位置,可以使用?facet_wrap()
代替。参数strip.position
控制标签将写在哪一侧。
这是“右”标签的示例,但您也可以将其更改为“左”或“底”。
ggplot(df2,aes(x=date,y=taux))+
geom_line(aes(group=Pays),colour="black")+
geom_point(colour="white",size=8)+
geom_text(aes(label=taux),size=3) +
facet_wrap(~Pays, strip.position = "right")
facet_wrap()
还允许您使用ncol
,nrow
和dir
参数调整面板排列,以便您可以更好地控制最终输出。
或者你可以像这样继续使用facet_grid()
,但你不会对面板安排有太多的控制权。面板将沿y轴分解。
ggplot(df2,aes(x=date,y=taux))+
geom_line(aes(group=Pays),colour="black")+
geom_point(colour="white",size=8)+
geom_text(aes(label=taux),size=3) +
facet_grid(Pays~.)