0

我有一个名为“a”的数据框:

             date individus annee
80 2013-07-23         0  2013
77 2013-07-12         0  2013
63 2013-05-13         7  2013
72 2013-06-25         2  2013
7  2011-04-19        20  2011
58 2013-04-23         6  2013
4  2011-04-11         7  2011
52 2012-07-03         0  2012
56 2012-08-06         9  2012
6  2011-04-15         0  2011
38 2012-05-02         8  2012
67 2013-05-28         1  2013
66 2013-05-24         0  2013
59 2013-04-26        46  2013
73 2013-06-28         9  2013
74 2013-07-02         0  2013
22 2011-06-14        44  2011
70 2013-06-17         0  2013
41 2012-05-11         0  2012
14 2011-05-13         6  2011
42 2012-05-15         0  2012
27 2011-07-18         0  2011
18 2011-05-26         0  2011
36 2012-04-13        39  2012
31 2011-07-29        12  2011
55 2012-07-13        25  2012
49 2012-06-14        17  2012
50 2012-06-18        69  2012
51 2012-06-25        65  2012
57 2013-04-19        41  2013

我想用 ggplot2 绘制这个数据,facet_grid用这段代码在 annee

plot<-ggplot(data=lob.df)+
#   geom_point(aes(x=date, y=individus))+
  geom_smooth(aes(x=date, y=individus, colour=annee))+
  labs(x="Date",y="Nombre d'individus")+
  scale_colour_discrete(name="Année")+
  facet_grid(.~annee)

如何给我:

带有 facet_grid 的 ggplot 图

而且我想删除所有 blanc 数据......所以我玩过scale_y_date但我无法减少图形限制:-S

4

1 回答 1

1

您可以将scales参数设置facet_grid"free_x"如下所示:

plot<-ggplot(data=df)+
  #   geom_point(aes(x=date, y=individus))+
  geom_smooth(aes(x=date, y=individus, colour=annee))+
  labs(x="Date",y="Nombre d'individus")+
  facet_grid(.~annee,scales="free_x")
##
print(plot)

在此处输入图像描述

我不得不稍微修改一下你的情节的美感,因为你的代码没有在我的机器上运行(我没有使用最新版本的 R),但使用facet_grid(.~annee,scales="free_x") 对你来说应该仍然可以正常工作。

数据:

df <- read.table(
  text="             date individus annee
80 2013-07-23         0  2013
77 2013-07-12         0  2013
63 2013-05-13         7  2013
72 2013-06-25         2  2013
7  2011-04-19        20  2011
58 2013-04-23         6  2013
4  2011-04-11         7  2011
52 2012-07-03         0  2012
56 2012-08-06         9  2012
6  2011-04-15         0  2011
38 2012-05-02         8  2012
67 2013-05-28         1  2013
66 2013-05-24         0  2013
59 2013-04-26        46  2013
73 2013-06-28         9  2013
74 2013-07-02         0  2013
22 2011-06-14        44  2011
70 2013-06-17         0  2013
41 2012-05-11         0  2012
14 2011-05-13         6  2011
42 2012-05-15         0  2012
27 2011-07-18         0  2011
18 2011-05-26         0  2011
36 2012-04-13        39  2012
31 2011-07-29        12  2011
55 2012-07-13        25  2012
49 2012-06-14        17  2012
50 2012-06-18        69  2012
51 2012-06-25        65  2012
57 2013-04-19        41  2013")
##
df$date <- as.Date(df$date)
df$individus <- as.numeric(df$individus)
df$annee <- as.numeric(df$annee)
于 2014-10-28T14:40:39.133 回答