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
定制主题和颜色
为了定制情节中的主题和颜色,我们将使用 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