首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >R/igraph中三层(三层)的图形/网络可视化

R/igraph中三层(三层)的图形/网络可视化
EN

Stack Overflow用户
提问于 2015-03-10 13:14:52
回答 1查看 2.4K关注 0票数 5

我有一个“分层”的网络,有三个层次,比如说父母(P),孩子(C),孙子(G)。边缘总是指向年轻一代(专利->孩子->孙子或父母->孙辈)。在同一代中,顶点之间没有边。该图由3个边列表(P_C、C_G、P_C)表示。给出了一个简短的例子。

1)这种图形/网络的恰当术语是什么?三方图?因此,我认为这是一个特殊的情况,因为缺乏反向连接。

2)如何将其表示为R中的图对象?

3)我能否用一种描绘“层”的方式来绘制这个图,每组的所有顶点(P,C,GC)都在相同的x坐标上对齐,从左边的P到中间的C,以及在严格的位置上的GC?

( 4)考虑到数据的分层性质,能否检验具有这种结构的图之间的同构关系。(我知道对于正则图,它将是graph.isomorphic()函数)。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
edge_P_C <- read.table(text="P C
A B
A C", header=T)

edge_C_G <- read.table(text="C G
B D
B E
C F", header=T)

edge_P_G <- read.table(text="P G
A G", header=T)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-10 16:49:40

1.任期

我想你可以说它是一个三方图,但我不确定这个词是否用于有向图。

2.创建图形

要创建一个图形对象(带有igraph ),只需对所有边缘进行rbind,并使用igraph.data.frame创建它。绑定前,列名必须匹配。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
all_edges <- do.call(rbind,
  lapply( list(edge_C_G, edge_P_C, edge_P_G), function(x) setNames(x, c("1","2")) )
)

g1 <- graph.data.frame(d = all_edges, directed = TRUE)

3.阴谋

您需要在每个顶点上设置layer属性。据我理解,该层是由输入数据(三个表)隐式定义的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
v_layers_df <- unique( rbind(
  expand.grid( ID = edge_P_C$P, Layer = 1),
  expand.grid( ID = edge_P_G$P, Layer = 1),
  expand.grid( ID = edge_P_C$C, Layer = 2),
  expand.grid( ID = edge_C_G$C, Layer = 2),
  expand.grid( ID = edge_C_G$G, Layer = 3),
  expand.grid( ID = edge_P_G$G, Layer = 3)
))

v_layers <- setNames( v_layers_df$Layer, v_layers_df$ID)
V(g1)$layer <- v_layers[V(g1)$name]

对于顶点上的layer属性,您可以在自己的布局函数中使用它(修改后的Sugiyama):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
layout.k_partite <- function(g) {
  l <- layout.sugiyama(g)$layout[,2:1]
  l[,1] <- V(g1)$layer
  l[,2] <- - l[,2] + 1 + max(l[,2])
  l
}

并以这种方式使用:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
plot(g1, layout = layout.k_partite(g1))

4.同构

graph.isomorphic和来自igraph包的其他函数应该执行得很好。

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28974206

复制
相关文章
TCP/IP第三层--网络层
1)、主要功能:负责点到点(point-to-point)的传输(这里的“点”指主机或路由器)
黄规速
2022/04/14
1.1K0
TCP/IP第三层--网络层
R包—iGraph
这几天收到师兄的任务,熟悉iGRaph包的使用,通过查资料,外加自己的实践,在此做个简单的学习笔记。 以下例子均是在R 3.0.1版本下测试的。 1.用igraph创建图表 g<- graph(c(1,2, 1,3, 1,4, 2,4, 3,4), directed=T) > g IGRAPH D--- 4 5 -- > plot(g, layout=layout.fruchterman.reingold) 2.创建多种图形的图表 > g1 <- graph.full(4) > g1 IG
学到老
2018/03/16
1.5K0
搭建三层全连接网络
针对这一问题,我主要通过对课上老师讲解的代码的复现和网上资料的查证寻找到问题的答案,同时,对于Flatten()和Linear()函数有了更深的理解。
算法与编程之美
2022/10/28
3680
搭建三层全连接网络
谈谈Kubernets纯种三层网络
host-gw模式就是将每个Flannel子网的下一跳设置成该子网对应宿主机的IP地址,该主机会充当容器通信路径里的网关。
shysh95
2023/08/23
2230
谈谈Kubernets纯种三层网络
【机器学习】三层神经网络
本文介绍了传统的三层神经网络模型,首先介绍了网络中的神经单元概念,将一个神经单元视为一个逻辑回归模型。因此,神经网络可以看作是逻辑回归在(宽度,深度)上的延伸;然后,前向传播是一个复合函数不断传播的过程,最终视目标而定损失函数;最后,反向传播则是对复合函数求导的过程。当然三层神经网络只是深度学习的雏形,如今深度学习已经包罗万象。
yuquanle
2019/11/14
1.2K0
【机器学习】三层神经网络
【机器学习】三层神经网络
本文介绍了传统的三层神经网络模型,首先介绍了网络中的神经单元概念,将一个神经单元视为一个逻辑回归模型。因此,神经网络可以看作是逻辑回归在(宽度,深度)上的延伸;然后,前向传播是一个复合函数不断传播的过程,最终视目标而定损失函数;最后,反向传播则是对复合函数求导的过程。当然三层神经网络只是深度学习的雏形,如今深度学习已经包罗万象。
AiTechYun
2019/11/18
7860
三层架构(一)——什么是三层架构?
三层架构(3-tier architecture) 通常意义上的三层架构就是将整个业务应用划分为:表现层(UI)、业务逻辑层(BLL)、数据访问层(DAL)。区分层次的目的即为了“高内聚,低耦合”的思想。
令仔很忙
2018/09/14
3.4K0
三层架构(一)——什么是三层架构?
SCD的三层
5.5.2 SCD1(缓慢渐变类型1) 通过更新维度记录直接覆盖已存在的值。不维护记录的历史。一般用于修改错误的数据,即历史数据就是错误数据,除此没有他用。
Maynor
2021/04/09
8210
三层的困惑
这个问题困惑我已经很久了,从开始学习。NET到现在…… 写三层的时候,遇到这样的情况怎么办? User{     int UserId,     String UserName } Article{     int Id,     int UserId,//作者ID     String Title, } 现在有个表格要显示如下两列:ArticleTitle,UserName 其中每一行对应每一篇文章。 在三层架构中,应该这样做吧: //用于存储最后显示于表示层的数据,相当于Fascade。这是页面上
用户1172223
2018/01/26
5350
三层学习
(1)DBhelp类 总的CRUD,对应整个数据库表的操作,用以接受具体某一张表传入参数,进行CRUD,并返回结果。
wfaceboss
2019/04/08
3820
三层学习
三层架构
三层架构就是将原本的程序进行一定程度的分离以达到代码尽量少重复,易于维护,容易理解的目的
用户7657330
2020/08/14
7250
三层架构
三层架构[通俗易懂]
首先要知道三层不是一项实际的技术、他是一中设计软件的思想、这样的思想就是把软件分为三层、或者说三个类、各自是表现层(UI)、业务逻辑层(BLL)、数据訪问层(DAL)、分层的目的是为了高内聚,低耦合、便于更改维护、当然软件业能够分四层、五层、六层、这主要看需求、可是一般的都是分为这三层。
全栈程序员站长
2022/07/08
6530
Neutron 理解 (6): Neutron 虚拟三层网络
特别说明:本文于2015年基于OpenStack M版本发表于本人博客,现转发到公众号。因为时间关系,本文部分内容可能已过时甚至不正确,请注意。
SammyLiu
2019/06/28
1.2K0
Neutron 理解 (6): Neutron 虚拟三层网络
R语言用igraph对上海公交巴士路线数据进行复杂网络、网络图可视化|数据分享
现实世界中充满了网络世界,铁路线路网络、航空网络和人际关系网络。复杂网络是大量真实复杂系统的拓扑关系。在复杂网络分析的帮助下,我们期望将复杂的东西简化,找到隐藏的拓扑关系的新结构,找到节点与节点之间的规律,同时将数据可视化。本文中我们被要求对上海公交路线进行可视化。
拓端
2022/11/22
3140
三层网络靶场搭建&MSF内网渗透
在最近的CTF比赛中,综合靶场出现的次数越来越多,这种形式的靶场和真实的内网渗透很像,很贴合实际工作,但我们往往缺少多层网络的练习环境。本文通过VMware搭建3层网络,并通过msf进行内网渗透,涉及代理搭建,流量转发,端口映射等常见内网渗透技术。
HACK学习
2019/08/06
2.9K0
三层网络靶场搭建&MSF内网渗透
R可视化 | 混合多个图形
gridExtra包让混合多个图片变得轻而易举。它提供了grid.arrange() 函数来完成 这个任务。它的nrow参数允许指定如何安排布局。
朱小五
2020/09/07
1.4K0
R可视化 | 混合多个图形
软件的三层架构
三层结构是传统的客户/server结构的发展,代表了企业级应用的未来,典型的有Web下的应用。多层结构和三层结构的含义是一样的,仅仅是细节有所不同。之所以会有双层、三层这些提法,是由于应用程序要解决三个层面的问题。
全栈程序员站长
2022/07/14
9830
三层架构之我见 —— 不同于您见过的三层架构。
       我从02年开始了编程的工作,开始接触一些简单的网站,下半年写了个小的自助建站程序(asp和asp.net),比较简陋没有使用。03年开始正式做网站(asp)。03年下半年开始改版三好在线(www.sanhaoonline.com   asp.net ),03年底、04年初才知道了三层架构的相关东东,一开始是很不了解的,所以呢根本就没有理睬,依旧按照我自己的思路写网站。         后来有点痫暇时间才开始看了看三层方面的东东,不过很遗憾至今为止我依然没有看懂petshop和duwish的代
用户1174620
2018/02/07
1.1K0
三层架构(二)——为什么要用三层架构?
层次结构在现实社会中随处可见。记得有个笑话讲有个村长得意的向他的老婆吹牛:“全中国比我官大的只有四个人,乡长、县长、省长和国务院总理”,这个笑话体现了真实社会的分层现象,社会人群会分层,公司管理人员结构也会分层,
令仔很忙
2018/09/14
1.4K0
三层架构(二)——为什么要用三层架构?
基于BGP实现纯三层容器网络方案
容器网络实现中,相比于Overlay网络模型,Underlay网络具有更高的数据面转发性能。TCS(Tencent CloudNative Stack)在多集群的生产实践中,伴随着集群规模的增大,愈发需要能够支撑底层网络可以横向扩展的高性能网络方案。基于BGP实现的纯三层网络方案,打通Node与Pod以及Pod与Pod之间的网络通信,兼具高性能和强扩展属性助力TCS夯实底座。
腾讯专有云
2022/06/24
1.2K0
基于BGP实现纯三层容器网络方案

相似问题

三层(三层)的图形/网络可视化

13

rails中三层嵌套模型的形式

10

在r中使用igraph包可视化图形

114

基于igraph的图形可视化

12

实体框架中三层LINQ查询的推荐

13
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文