2

我的问题很简单,但经过多次尝试都未能解决。我只想打印一个多面图的一些方面(用 ggplot2 中的 facet_wrap 制作),并删除我不感兴趣的那些。

我有 ggplot2 的 facet_wrap,如下:

#anomalies linear trends
an.trends <- ggplot()+
  geom_smooth(method="lm", data=tndvilong.anomalies, aes(x=year, y=NDVIan, colour=TenureZone,
                                                     group=TenureZone))+
  scale_color_manual(values=miscol) + 
  ggtitle("anomalies' trends")

#anomalies linear trends by VEG
an.trendsVEG <- an.trends + facet_wrap(~VEG,ncol=2)
print(an.trendsVEG)

我得到了我所期望的情节(你可以在下面的链接中看到它):

VEG 的异常趋势

问题是:如何只打印我感兴趣的面?我只想打印“CenKal_ShWoodl”、“HlShl_ShDens”、“NKal_ShWoodl”和“ThShl_ShDens”

谢谢

4

1 回答 1

5

我建议最简单的方法是简单地给出ggplot()一个适当的子集。在这种情况下:

facets <- c("CenKal_ShWoodl", "HlShl_ShDens", "NKal_ShWoodl", "ThShl_ShDens")
an.trends.sub <- ggplot(tndvilong.anomalies[tndvilong.anomalies$VEG %in% facets,])+
  geom_smooth(method="lm" aes(x=year, y=NDVIan, colour=TenureZone,
                                                     group=TenureZone))+
  scale_color_manual(values=miscol) + 
  ggtitle("anomalies' trends") +
  facet_wrap(~VEG,ncol=2)

显然,如果没有您的数据,我无法确定这会给您想要的东西,但根据您的描述,它应该可以工作。我发现使用 ggplot,通常最好将您想要绘制的数据传递给它,而不是寻找改变绘图本身的方法。

于 2013-09-09T13:14:32.763 回答