R语言 用ggally绘制平行坐标图

R语言 用ggally绘制平行坐标图

为了分析和可视化高维数据,人们可以使用平行坐标。绘制一个由n条平行线组成的背景,通常是垂直和均匀间隔的,以显示n维空间中的一组点。n维空间中的一个点由平行轴上的顶点的折线表示;该点的第 i个坐标对应于第i个轴上 顶点的位置。

这种表示方法类似于时间序列的可视化,只是它用于没有自然顺序的数据,因为轴与时间点没有关联。因此,几个轴的布局可能是有意义的。

在R编程语言中用ggally绘制平行坐标图

在R编程语言中,使用ggally包和ggparcoord()函数,可以创建最简单的基本平行坐标图。

输入的数据集必须是一个包含多个数字变量的数据框架,其中每个变量都将作为图表的纵轴。该函数的列参数指定了这些变量的列数。

用IRIS数据绘制平行坐标图

这里我们将用IRIS数据集绘制平行坐标图,为此我们将从该数据集中创建数据框架,然后使用ggparcoord()方法绘制平行坐标图。

语法: ggparcoord( data, columns, groupColumn)

参数

  • data: 要绘制的数据集
  • columns: 变量的矢量(名称或指数),作为绘图中的坐标轴
  • groupColumn: 要分组的单个变量(颜色)。
# libraries
library(GGally)
 
# default data in R
data <- iris
 
# glimpse of the data
head(data)
 
# plotting the Parallel Coordinates
ggparcoord(data, # data
           columns = 1:3, # plotting first 3 columns
           groupColumn = 5) # target parameter

输出

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

在R中用ggally绘制平行坐标图

定制主题和颜色

为了定制情节中的主题和颜色,我们将使用 viridis 和 hrbrthemes 软件包来为坐标轴和情节调色和设置主题。

# Libraries
library(GGally)
library(viridis)    # provide the color palette
library(hrbrthemes) # provides themes for axis and plot
 
# default data in R
data <- iris
 
# glimpse of the data
head(data)
 
# plotting the Parallel Coordinates
ggparcoord(data, # data
           columns = 1:3, # plotting first 3 columns
           alphaLines = .4, # transparency of the color
           groupColumn = 5, order = "anyClass",
           showPoints = TRUE) +
  theme(
    plot.title = element_text(size=10)
  )

输出

  Sepal.Length Sepal.Width Petal.Length Petal.Width Species
1          5.1         3.5          1.4         0.2  setosa
2          4.9         3.0          1.4         0.2  setosa
3          4.7         3.2          1.3         0.2  setosa
4          4.6         3.1          1.5         0.2  setosa
5          5.0         3.6          1.4         0.2  setosa
6          5.4         3.9          1.7         0.4  setosa

在R中用ggally绘制平行坐标图

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程