R标签构面网格多线演化

问题描述 投票:0回答:1

我有一个数据框:

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

这对于每个“支付”,所以我想要相同的图形样式,但在小平面网格中,“支付”在右侧(或左侧)因子。我所有的尝试都完成了每个方面的所有价值......

r facet-grid
1个回答
1
投票

如果要调整构面标签的位置,可以使用?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")

enter image description here

facet_wrap()还允许您使用ncolnrowdir参数调整面板排列,以便您可以更好地控制最终输出。

或者你可以像这样继续使用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~.)

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.