📌  相关文章
📜  如何使用 ggplot2 在 R 中以文本为点制作箱线图?

📅  最后修改于: 2022-05-13 01:55:04.227000             🧑  作者: Mango

如何使用 ggplot2 在 R 中以文本为点制作箱线图?

在本文中,我们将讨论如何使用 R 编程语言中的 ggplot2 包制作以文本为点的箱线图。

箱线图是一种图表,显示来自五个数字摘要的数据,包括集中趋势的度量之一。这五个汇总数字是最小值、第一四分位数、中位数、第三四分位数和最大值,这有助于我们通过视觉表示分析不同的统计量度。

要导入和安装 ggplot2 包,我们需要遵循以下语法:

install.package('ggplot2') # To install
import('ggplot2') # To import

创建基本箱线图

我们可以使用 R 语言中 ggplot2 包的 geom_boxplot()函数创建一个基本的箱线图。

句法:

ggplot(dataframe,  aes( x, y, color ) ) + geom_boxplot()

例子:

在这个例子中,一个基本的箱线图是使用 ggplot2 包的 geom_boxplot函数制作的。

示例中使用的 CSV 文件可在此处下载。

R
# Load library ggplot2
library(ggplot2)
 
# read sample_data from csv as a dataframe
sample_data <- read.csv("df.csv")
 
# use sample_data to plot a boxplot
# Color the plot by group using color parameter
ggplot(sample_data, aes(x=group, y=value, color=group))+
  geom_boxplot()


R
# Load library ggplot2
library(ggplot2)
 
# read sample_data from csv as a dataframe
sample_data <- read.csv("df.csv")
 
# use sample_data to plot a boxplot
# Add jitter points to boxplot using
# geom_jitter() function
ggplot(sample_data, aes(x=group, y=value, color=group))+
  geom_boxplot()+
  geom_jitter()


R
# Load library tidyverse
library(tidyverse)
 
# read sample_data from csv as a dataframe
sample_data <- read.csv("df.csv")
 
# use sample_data to plot a boxplot
# Add jitter points to boxplot using geom_jitter()
# function
ggplot(sample_data, aes(x=group,y=value, label = Label, color=group))+
  geom_boxplot()+
  geom_text(check_overlap = TRUE, position=position_jitter(width=0.15))


输出:

添加数据点作为叠加层:

要将抖动数据点作为覆盖添加到箱线图中,我们将使用 ggplot2 包的 geom_jitter()函数。此函数在箱线图上添加一个图层,并在其上绘制实际点。

句法:

参数:

  • x是分类变量
  • y是定量变量
  • z是组在颜色图中使用的分类变量。

例子:

在此示例中,使用 ggplot2 包的 geom_boxplot函数制作了箱线图。使用 geom_jitter()函数将实际数据点叠加到箱线图上。

R

# Load library ggplot2
library(ggplot2)
 
# read sample_data from csv as a dataframe
sample_data <- read.csv("df.csv")
 
# use sample_data to plot a boxplot
# Add jitter points to boxplot using
# geom_jitter() function
ggplot(sample_data, aes(x=group, y=value, color=group))+
  geom_boxplot()+
  geom_jitter()

输出:

用标签替换数据点

现在要分析数据,我们将使用带有参数位置的 geom_text()函数将数据点替换为它们各自的标签。 geom_text()函数用数据标签替换数据点,但所有标签都成一条直线。为了让它抖动,我们使用位置参数作为 position_jitter()。

句法:

例子:

在这里,使用 geom_text()函数将实际数据点作为标签文本覆盖到箱线图。

R

# Load library tidyverse
library(tidyverse)
 
# read sample_data from csv as a dataframe
sample_data <- read.csv("df.csv")
 
# use sample_data to plot a boxplot
# Add jitter points to boxplot using geom_jitter()
# function
ggplot(sample_data, aes(x=group,y=value, label = Label, color=group))+
  geom_boxplot()+
  geom_text(check_overlap = TRUE, position=position_jitter(width=0.15))

输出: