R语言 如何在ggplot2中用抖动的数据点制作分组的博弈图

R语言 如何在ggplot2中用抖动的数据点制作分组的博弈图

在这篇文章中,我们将看到如何利用R编程语言中的ggplot2包来绘制带有抖动数据点的分组膨胀图。

分组膨胀图帮助我们使用ggplot2中的分组变量在一个图中可视化两个或多个特征/变量。抖动的点是属于另一个变量的数据点,被绘制在分组博列表的上面,以便更好地比较所考虑的变量的数据点的分布。

创建一个数据框架

在这里,我们可以使用R中任何内置的数据集(数据集列表可以使用data( )命令查看),甚至可以创建一个。让我们创建一个数据框并将其可视化。

# Creating a data frame
  
# variables for columns
game = rep(c('Footsal', 'Slamdunk', 'VolleyBall'), each=50)
level = rep(c('low', 'high'), each=25)
score = runif(150, min=1, max=500)
year = rep(c(1992,1993,1994),each=50)
  
data = data.frame(game, level, score,year)
head(data)

输出 :

如何在R语言的ggplot2中用抖动的数据点制作分组的博弈图

绘制分组的膨胀图

在这里,我们将使用geom_boxplot()方法绘制boxplots。

geom_boxplot()的语法: geom_boxplot(mapping = NULL, data = NULL, outlier.shape = 19, na.rm = FALSE… )

参数

  • mapping: 美学映射的集合
  • data: 要在这个图层中显示的数据
  • outlier.shape: 显示离群值,NA – 隐藏离群值
  • na.rm: 处理缺失值,TRUE – 删除数据中的任何缺失值。

使用创建的数据框架绘制一个分组的Boxplot

使用ggplot2让我们使用创建的数据框架绘制一个分组盒形图。让我们来看看分数和游戏之间的boxplot,按级别填充。在这里,我们可以比较每个级别与游戏的关系。

# plotting a grouped boxplot
library(ggplot2)
  
ggplot(data, aes(x = game, y = score, fill = level)) + 
geom_boxplot()

输出:

如何在R语言的ggplot2中用抖动的数据点制作分组的博弈图

使用创建的数据框架绘制另一个博弈图

让我们来看看游戏和分数之间的另一个boxplot,按级别填充。这与上面的图表相同,但改变了坐标轴,使每个游戏与水平之间的对比更加清晰。

# another grouped boxplot
  
ggplot(data, aes(x = level, y = score, fill = game)) + 
geom_boxplot()

输出 :

如何在R语言的ggplot2中用抖动的数据点制作分组的博弈图

将抖动的数据点添加到分组的博列表中

在这里,我们使用geom_point()方法将抖动的数据点添加到分组的boxplot中。

geom_point()的语法: geom_point(mapping = NULL, data = NULL, position = “identity”, … )

参数

  • mapping – 审美映射的集合
  • data = dataset
  • position – 点的位置调整

使用geom_point( ) 函数和position_jitterdodge( ) 参数添加抖动的数据点

让我们在boxplot上添加抖动的数据点,以便直观地看到数据在每场比赛中的分布。

# Adding jittered data points on the boxplot
  
ggplot(data, aes(x = game, y = score, fill = level)) + 
geom_boxplot(outlier.shape = NA)+
geom_point(position = position_jitterdodge(), alpha=0.3)

输出 :

如何在R语言的ggplot2中用抖动的数据点制作分组的博弈图

用抖动的点绘制一个关于每年每场比赛表现的分组波谱图

让我们使用geom_point( )和facet_wrap( )函数在boxplot上添加抖动的数据点,以比较每年每场比赛的得分在不同方面的表现。

# jittered points on boxplots in 3 facets by year
  
ggplot(data, aes(x = level, y = score, fill = game)) + 
geom_boxplot()+
geom_jitter(width = 0.1,alpha = 0.3) +
facet_wrap(~year)

输出:

如何在R语言的ggplot2中用抖动的数据点制作分组的博弈图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程