R语言 如何使用ggplot2创建一个面状线图

R语言 如何使用ggplot2创建一个面状线图

在这篇文章中,我们将看到如何在R编程语言中使用ggplot2创建一个面状的线图。

在ggplot2中,geom_line()函数被用来创建一个线图。在添加单独的方法和所需的参数后,可以创建面状图。

方法1:使用facet_grid()

首先创建一个数据框架,然后,通过向geom_line添加 facet_grid() 函数来创建一个分面的线形图。

语法 : facet_grid(facets, …)

参数 :

  • facets: 这个参数必须与facet_grid一起使用,指定公式中的行在LHS上,列在RHS上。 公式中使用的点参数表示在这个维度(行或列)上不应该有面。
  • ...:facet_grid函数还有许多参数,如 scale、space、margins、shrink等, 但它们不是必须使用的。它们都有一些默认值,但如果我们想改变它们,我们可以使用它们。但对于切面来说,第一个参数就足够了。

返回: 图形上的切面。

使用中的语法。

facet_grid(row ~ column)

在上面的语法中,我们使用 Facets 矢量来表示列,而行则没有。要指定什么都没有,我们使用点参数,如 facet_grid(. ~ Facets) 。 这将在绘图上返回垂直面,如果要绘制水平面,我们只需在facet_grid()函数中交换点参数和facets向量。

例子 :

# Load Library
library("ggplot2")
 
# Create DataFrame
DF <- data.frame(X = rnorm(60),                                  
                 Y = rnorm(60),
                 Facets = c("Facet 1", "Facet 2",
                            "Facet 3", "Facet 4"))
 
# Create Faceted LineGraph with Vertical Facets.
ggplot(DF, aes(X, Y)) +                                    
  geom_line(color = "green", size = 1) +
  facet_grid(. ~ Facets)

输出:

如何在R语言中使用ggplot2创建一个面状线图?

使用facet_grid的具有垂直切面的线图

方法2:使用facet_wrap( )

我们也可以使用 facet_wrap() 函数来创建Faceted Line Graph,这通常比facet_grid()更好地利用屏幕空间,因为它将一维的面板序列包装成二维。这意味着它以2×2的方式为我们的DataFrame创建了4个面。我们还可以通过它的参数来改变面的行数和列数。

语法: facet_wrap(facets, nrow, ncol, …)

参数 :

  • facets: 与我们上面讨论的facet_grid函数的facet参数相同。它指定的公式是行在左端,列在右端,即 行~列。
  • nrow : 分面的行数。
  • ncol : 面片的列数。
  • ... : facet_wrap也有一些参数,但这些参数并不重要,因为它们有默认值。我们可以在一些特殊情况下使用它们。

返回: 将一维面的序列转换成二维。

例子。

# Load Library
library("ggplot2")
 
# Create a DataFrame for Plotting
DF <- data.frame(X = rnorm(60),                                  
                 Y = rnorm(60),
                 Facets = c("Facet 1", "Facet 2",
                            "Facet 3", "Facet 4"))
 
# Create a Faceted LineGraph using
# facet_wrap Function.
ggplot(DF, aes(X, Y)) +                                    
  geom_line(color = "green", size = 1) +
  facet_wrap(. ~ Facets)

输出

如何在R语言中使用ggplot2创建一个面状线图?

使用facet_wrap的2×2 Faceted LineGraph。

默认情况下,这个输出是以网格形式出现的。但是可以使用nrow和ncol参数来改变它,并设定适当的值。

例子 :

# Load Library
library("ggplot2")
 
# Create a DataFrame for Plotting
DF <- data.frame(X = rnorm(60),                                  
                 Y = rnorm(60),
                 Facets = c("Facet 1", "Facet 2",
                            "Facet 3", "Facet 4"))
 
# Create a Faceted LineGraph using facet_wrap
# Function with changed number of rows.
ggplot(DF, aes(X, Y)) +                                    
  geom_line(color = "green", size = 1) +
  facet_wrap(. ~ Facets, nrow = 4)

输出

如何在R语言中使用ggplot2创建一个面状线图?

使用facet_wrap的分面线图,不同的行数。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程