如何在R中创建一个面之间距离较大的散点图?

默认情况下,使用 ggplot2 创建的 facets 之间的距离/空间非常小,查看者单独阅读 facets 变得有点不舒服。因此,为了解决这个问题,我们可以增加分面之间的空间,这可以通过主题功能来完成,如下例所示。

示例

以下代码段创建了一个示例数据框 &miuns;

x<-rnorm(20)
y<-rnorm(20)
Group<-sample(c("Male","Female"),20,replace=TRUE)
df<-data.frame(x,y,Group)
df
输出结果

创建以下数据框 -

       x         y          Group
1   1.2867663   0.55866491  Male
2   0.7391027  -0.34618436  Female
3   0.5235874  -0.74887181  Female
4   0.5888993  -0.68957351  Male
5  -0.3590756   0.75730314  Female
6  -0.5554565  -0.38544639  Male
7   0.4637831  -1.68509743  Male
8  -0.3665099  -0.26642702  Male
9  -0.4825639   0.63628373  Male
10 -1.1191989   1.55902395  Female
11 -0.5730155   0.04807617  Male
12  1.0237728  -0.84262752  Female
13 -1.2894423   1.97032059  Female
14 -0.6856492  -0.78864269  Male
15 -0.5171276   0.23602206  Female
16 -0.7189031   0.81558755  Female
17  1.4954506  -0.64333891  Female
18 -1.1988800  -0.07535623  Male
19 -0.8260068   0.73747420  Male
20 -2.0534583  -0.63682645  Female

要加载 ggplot2 包并使用 Group 列定义的方面在 x 和 y 之间创建点图,请将以下代码添加到上述代码段 -

library(ggplot2)
ggplot(df,aes(x,y,color=Group))+geom_point()+facet_grid(~Group)
输出结果

如果您将上述所有片段作为单个程序执行,它会生成以下输出 -

要在 x 和 y 之间创建由 Group 列定义的较大距离的分面图,请将以下代码添加到上面的代码段 -

ggplot(df,aes(x,y,color=Group))+geom_point()+facet_grid(~Group)+theme(panel.spacing=unit(3,"lines"))
输出结果

如果您将上述所有片段作为单个程序执行,它会生成以下输出 -