将文本添加到R中的字形 [英] Adding Text to an igraph in R

查看:8
本文介绍了将文本添加到R中的字形的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下代码,这要感谢answer by @G.Grothendieck

library(igraph)

DF <- data.frame(in. = 1:6, out. = c(3, 3, 5, 5, 7, 7)) 

g <- graph_from_edgelist(as.matrix(DF[2:1]))
lay <- layout_as_tree(g)
plot(as.undirected(g), layout = lay %*% diag(c(1, -1)))

现在,我需要在此图中添加一些文本:

DF <- data.frame(in. = 1:6, out. = c(3, 3, 5, 5, 7, 7), 
date = c('2019-11-01', '2019-11-01', '2020-01-01',  '2020-01-01', '2020-12-31', '2020-12-31') ) 

我希望2019-11-01显示在顶层的一侧(或者更好,在每一层的两个节点之间),然后在下一层显示2020-01-01,在下一层显示‘2020-12-31’,最底层不显示任何内容。

这可能吗?

推荐答案

您可以将date作为属性添加到图形对象g中,也可以用看不见的箭头绘制有向图g,例如edge.arrow.size = 0

g <- graph_from_data_frame(cbind(rev(DF), date))
lay <- layout_as_tree(g)
plot(g, layout = lay %*% diag(c(1, -1)), edge.label = E(g)$date, edge.arrow.size = 0)

这篇关于将文本添加到R中的字形的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆