R语言 如何使用ggplot2增加分面图的间距

R语言 如何使用ggplot2增加分面图的间距

在这篇文章中,我们将看到如何使用R编程语言中的ggplot2来增加分面图之间的间距。

注意: 这里使用的是线形图,同样的方法也可以用于任何其他图。

要创建一个R图,我们将使用 ggplot() 函数,要制作一个线图,请添加 geom_line() 函数。最后,对于切面网格,我们将使用 facet_grid() 函数。

语法 : facet_grid(facets)

参数 :

  • facets: 一般来说,facet_grid有很多参数,但facet是我们必须指定的,我们要在其中指定行和列的网格。在上面的语法中,我们用 Labels 向量表示行,用Nothing表示列。当我们没有东西可以指定时,我们就使用’.’,就像这里我们使用 facet_grid(Labels ~ .) 。

返回: 在一个网格中布局面板。

让我们先画出初始图,这样就能看出区别。

例子

# Load Package
library("ggplot2")
  
# Create a DataFrame 
DF <- data.frame(X = rnorm(200),                                   
                 Y = rnorm(200),
                 Labels = c("Label 1", "Label 2",
                            "Label 3", "Label 4"))
  
# Create a lineplot using ggplot2 
# with Facet Grids.
ggplot(DF, aes(X, Y)) +                                     
  geom_line(color = "dark green") +
  facet_grid(Labels ~ .)

输出

如何在R语言中使用ggplot2增加分面图的间距?

使用ggplot2的FacetPlot

正如你所看到的,在上图中,facet网格之间有一些空间,默认为 0.2厘米 左右。要增加这个空间,可以在facet_grid函数中加入 theme() 函数。在theme()函数中,将所需的值传递给panel.spacing参数。

语法: theme(panel.spacing)

参数:

  • panel.spacing : 一般来说,theme()有很多参数来指定绘图的主题。我们可以根据我们的要求来使用它们,但为了改变面片之间的空间,我们将只使用 panel.spacing 参数。它是用来指定面片之间的间距。这里我们使用 unit() 函数作为 panel.spacing 参数的单位对象的值。

返回: 绘图的主题。

unit()用于创建一个单元对象。这将作为 panel.spacing 的值被传递。

语法: unit(x, unit, data = NULL)

参数 :

  • x : 一个数值。这里我们想把面板之间的空间从默认的空间增加到2厘米。因此,在这里我们将x指定为 2。
  • unit : 一个字符,用于指定相应数值的单位。这里我们使用 cm 单位。
  • data : 指定额外的信息,否则 为NULL。

返回: 单位对象

例子

# Load Package
library("ggplot2")
  
# Create a DataFrame 
DF <- data.frame(X = rnorm(200),                                   
                 Y = rnorm(200),
                 Labels = c("Label 1", "Label 2",
                            "Label 3", "Label 4"))
  
# Create a lineplot using ggplot2 with 
# 2 cm space between Facet Panels.
ggplot(DF, aes(X, Y)) +
  geom_line(color = "dark green") +
  facet_grid(Labels ~ .) +
  theme(panel.spacing = unit(2, "cm", data = NULL))

输出

如何在R语言中使用ggplot2增加分面图的间距?

FacetPlot,增加Facet面板之间的空间

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程