📜  用 R 和 ggraph 介绍树形图

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

用 R 和 ggraph 介绍树形图

在本文中,我们将了解如何使用 R Programming 使用 ggraph 库来可视化树图。 ggraph 库有很多方法可以帮助在 R 编程语言中进行可视化。

可视化树状图

树状图是项目之间层次关系的直观表示。它通常是由于层次聚类而产生的。树状图的主要目的是找出将对象分配给集群的最佳方法。

准备分层数据

在这里,我们将准备分层数据进行演示。为此,我们将创建两个数据框,然后我们将创建边缘数据。

R
# libraries for plotting the graph
library(ggraph) 
library(igraph)
library(tidyverse)
library(ggplot2)
  
# create the edge data for the hierarchy
d1 <- data.frame(from = "origin", 
                 to = paste("group",
                            seq(1,5),
                            sep = ""))
print("Dataframe 1 :")
head(d1)
  
# preparing the subgroup data
d2 <- data.frame(from = rep(d1$to, each = 5), 
                 to = paste("subgroup", 
                            seq(1,25),
                            sep="_"))
  
print("Dataframe 2 :")
head(d2)
  
# creating the edge data
edges <- rbind(d1, d2)
  
print("Edge of both dataframe:")
head(edges)


R
# prepare the graph data
mygraph <- graph_from_data_frame( edges )
mygraph


R
# plotting the dendrogram
ggraph(mygraph, layout = 'dendrogram') + 
  geom_edge_diagonal() + # putting up the edges
  geom_node_point() # add up the data points


输出:

准备图表数据

graph_from_data_frame() 方法从一个或两个数据帧创建 igraph 图,其描述已从 igraph 包中获得。

R

# prepare the graph data
mygraph <- graph_from_data_frame( edges )
mygraph

输出:

准备树状图

现在,我们将使用 ggraph 库绘制树状图。为此,我们将使用带有layout = 'dendrogram'的 ggraph 的树状图布局geom_edge_diagonal()用于边缘, geom_node_point()用于数据点

R

# plotting the dendrogram
ggraph(mygraph, layout = 'dendrogram') + 
  geom_edge_diagonal() + # putting up the edges
  geom_node_point() # add up the data points

输出: