径向树图

require(igraph)
require(tidygraph)
require(ggraph)

#------------------------------------------------------------------------------#
edges <- data.frame(
  from = c(rep("ROOT", 6), rep(c("CLASS A","CLASS B","CLASS C","CLASS D","CLASS E","CLASS F"), each = 20)),
  to = c(c("CLASS A","CLASS B","CLASS C","CLASS D","CLASS E","CLASS F"), paste0("A",1:20), paste0("B",1:20), paste0("C",1:20), paste0("D",1:20), paste0("E",1:20),paste0("F",1:20)),
  stringsAsFactors = FALSE)

#------------------------------------------------------------------------------#
g <- graph_from_data_frame(edges, directed = TRUE)

ggraph(as_tbl_graph(g), layout = "dendrogram", circular = TRUE) +
  geom_edge_diagonal(aes(color = after_stat(index)),
                     alpha = 0.6, width = 0.8) +
  geom_node_point(size = 3) +
  geom_node_text(aes(label = name),
                 angle = -90,
                 hjust = 0,
                size = 3) +
  theme_void()

library(ggraph)
library(tidygraph)
library(igraph)

hierarchies_data <- data.frame(
  from = c(
    "flare", "flare", "flare",               # 根节点分出
    "animate", "animate", "animate",         # animate的子节点
    "display", "display",                    # display的子节点
    "physics", "physics", "physics"          # physics的子节点
  ),
  to = c(
    "animate", "display", "physics",         # 第一层级
    "Easing", "interpolate", "Tween",        # animate下的具体类
    "DirtySprite", "TextSprite",             # display下的具体类
    "DragForce", "GravityForce", "Spring"    # physics下的具体类
  )
)

# 2. 转换为 tbl_graph 对象
graph <- as_tbl_graph(hierarchies_data)

# 2. 绘图
ggraph(graph, layout = 'dendrogram', circular = FALSE) + 
  geom_edge_diagonal(aes(alpha = ..index..), colour = "lightgray") + # 贝塞尔曲线连接
  geom_node_point(colour = "steelblue", size = 2) +
  geom_node_text(aes(label = name), hjust = -0.1, size = 3) +
  theme_void() +
  coord_flip() # 旋转方向使其从左向右生长
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容