首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏深度学习之tensorflow实战篇

    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 IGRAPH U--- 4 6 -- Full graph + attr: name (g/c), loops (g/x) > g2 <- graph.ring(3) > g2 IGRAPH U--- 3 3 -- Ring graph + attr : name (g/c), mutual (g/x), circular (g/x) > g3 = graph.lattice(c(3,4,2))#create a lattice > g3 IGRAPH

    1.7K50发布于 2018-03-16
  • igraph安装好测试代码

    测试环境: windows x64 vs2019 igraph==0.10.5 测试代码: #include "igraph/igraph.h" #include <stdio.h> #include <stdlib.h> int main() { igraph_real_t avg_path; igraph_real_t unconnected_pairs; igraph_t graph; igraph_vector_int_t dimvector; igraph_vector_bool_t periodic; // For periodic boundary () % igraph_vcount(&graph); } // Add random edges igraph_add_edges(&graph, &edges, 0); )avg_path); // Clean up igraph_vector_int_destroy(&dimvector); igraph_vector_bool_destroy

    17000编辑于 2025-07-22
  • 来自专栏生信修炼手册

    采用igraph包分析网络数据

    为了能够自动化编程处理,有很多的程序被开发出来,专门用于网络数据的可视化和分析,igraph就是其中的佼佼者。 igraph是一个开源项目,旨在提供一个简单易用,功能强大的网络数据处理框架,在R,Python, C语言中都有具体实现,网址如下 http://igraph.org/ 本篇以R语言为例,展示其用法。 在R语言中,对应的包名为igraph, 安装方式如下 install.packages("igraph") network对应的数据结构为graph, 通常用大写字母G表示,顶点的英文为vertex, 对于igraph而言,常用的操作包括以下几种 1. 在R中,读取文件并创建network的代码如下 # 加载包 library(igraph) # 读取节点文件 nodes <- read.table("nodes.txt") # 读取边文件 links

    4.7K30发布于 2020-05-08
  • 来自专栏生信宝典

    psych +igraph:共表达网络构建

    # By Chen Liangnode_pro <- function(igraph){ # 节点度 igraph.degree <- igraph::degree(igraph) # 节点度中心性 igraph.cen.degree <- round(centralization.degree(igraph)$res,3) # 节点介数中心性 igraph.betweenness <- round (igraph)$res,3) #igraph.node.pro <- cbind(igraph.degree,igraph.closeness,igraph.betweenness,igraph.cen.degree ) #colnames(igraph.node.pro)<-c("igraph.degree","igraph.closeness","igraph.betweenness","igraph.cen.degree ") igraph.node.pro <- data.frame(Node=names(igraph.degree), igraph.degree,igraph.closeness,igraph.betweenness

    2.7K31发布于 2019-05-09
  • 来自专栏庄闪闪的R语言手册

    igraph包——绘制网络图

    本文是复杂网络课的一个小作业,主要学习如何导入图数据以及如何利用igraph包绘制网络图。 ? 导入边数据和节点数据 这里主要是将边数据和节点数据分别导入,再利用igraph包中的graph_from_data_frame()将边,节点数据进行合并构成一个网络图。 生成方式1(没有颜色分类) igraph.options(vertex.size=3, vertex.label=NA, edge.arrow.size=0.5) V(graph)$color <- colrs

    3K61发布于 2021-04-09
  • 来自专栏大数据文摘

    R语言的igraph画社交关系图示例

    R语言中的igraph可以很方便地画出社交关系图。下面是几个示例。 1.最简单的社交关系图 library(igraph) dolphin <- read.csv('dolphins.csv',head=T,fileEncoding='UTF-8',stringsAsFactors 有关igraph的demo可以看demo(package="igraph")。 在R中键入demo(package="igraph"),它会给出子项目: centrality Classic and other vertex centrality indices 如demo(package="igraph", community),它会给出community的示例。 作者简介:顾运筠,职业院校的统计老师,对机器学习和数据可视化感兴趣。

    2.6K90发布于 2018-05-21
  • 来自专栏小徐学爬虫

    使用Python中的igraph为绘图添加标题和图例

    在 `igraph` 中,可以通过添加标题和图例来增强图形的可读性和表达能力。我们可以使用 `igraph.plot` 函数进行绘图,并通过它的参数来指定标题和图例。 ="white")```此时,你拥有了一个plot变量,它是igraph.drawing.Plot的一个实例。 幸运的是,igraphigraph.drawing.text包中提供了一个名为TextDrawer的类来帮助我们解决一些换行和对齐问题。 综合起来,这个例子是这样的:```from igraph import Graph, Plotfrom igraph.drawing.text import TextDrawerimport cairo 你还可以使用igraph.drawing.shapes中的节点绘制器类,如果你想绘制与igraph在绘制图形时类似的节点形状。`igraph` 没有直接的图例功能。

    2.6K10编辑于 2024-09-06
  • 来自专栏CDA数据分析师

    技能 | R语言的igraph画社交关系图示例

    R语言中的igraph可以很方便地画出社交关系图。下面是几个示例。 1.最简单的社交关系图 library(igraph) dolphin <- read.csv('dolphins.csv',head=T,fileEncoding='UTF-8',stringsAsFactors 有关igraph的demo可以看demo(package="igraph")。 在R中键入demo(package="igraph"),它会给出子项目: centrality Classic and other vertex centrality indices cohesive 如demo(package="igraph", community),它会给出community的示例。

    3.9K100发布于 2018-02-08
  • 来自专栏生信星球

    做拟时序的你,苦igraph已久了吧

    方法一:装旧版本的igraph(windows) 虽然解决办法就是一句代码但是操作起来还是有很多细节。现在给大家一个更细节的教程! 1.打开一个新的Rstudio窗口,避免igraph和monocle已经加载影响安装。 /igraph_2.0.3.tar.gz",repos = NULL,type = "source") 理论上可以顺利安装。 2.把解压后的文件夹放在安装路径里 打开第一个路径的文件夹,把我提供的igraph.zip解压,解压得到的igraph文件夹复制到上面的路径。 注意,这个方法不需要旧版本igraph,直接install.packages装igraph即可,省掉无数麻烦。

    2.7K02编辑于 2025-07-14
  • 来自专栏深度学习之tensorflow实战篇

    igraph软件包创建图和网络(创建邻接矩阵)

    igraph中图的数据结构 igraph中基本的graph structure采用的是EdgeList,所以在igraph中自然而然的允许multiedge的存在,当然它也提供了Adjancency list 数据结构igraph_t定义如下: typedef struct igraph_s { igraph_integer_t n; #图的顶点个数 igraph_bool_t directed; #有向图 ,无向图 igraph_vector_t from; #边的起点 igraph_vector_t to; #边的终点 igraph_vector_t oi; #尾结点下标 igraph_vector_t ii; #头结点下标 igraph_vector_t os; igraph_vector_t is; void *attr; } igraph_t; igraph中顶点和边都是从0开始编号。 操作igraph_t的一些基本API如igraph_empty, igraph_adjacent等见于文档手册。

    2.4K30发布于 2019-02-14
  • 来自专栏深度学习之tensorflow实战篇

    igraph软件包创建图和网络(创建邻接矩阵)

    igraph中图的数据结构 igraph中基本的graph structure采用的是EdgeList,所以在igraph中自然而然的允许multiedge的存在,当然它也提供了Adjancency list 数据结构igraph_t定义如下: typedef struct igraph_s { igraph_integer_t n; #图的顶点个数 igraph_bool_t directed; #有向图 ,无向图 igraph_vector_t from; #边的起点 igraph_vector_t to; #边的终点 igraph_vector_t oi; #尾结点下标 igraph_vector_t ii; #头结点下标 igraph_vector_t os; igraph_vector_t is; void *attr; } igraph_t; igraph中顶点和边都是从0开始编号。 操作igraph_t的一些基本API如igraph_empty, igraph_adjacent等见于文档手册。

    3.1K40发布于 2018-03-19
  • 来自专栏生信宝典

    一文学会网络分析——Co-occurrence网络图在R中的实现

    igraph) == 0] igraph = delete.vertices(igraph, bad.vs) igraph # 将igraph weight属性赋值到igraph.weight igraph.weight = E(igraph)$weight # 做图前去掉igraph的weight权重,因为做图时某些layout会受到其影响 E(igraph)$weight = NA # 简单出图 # 设定随机种子数 )$name,] # 筛选对应OTU属性 igraph.size1 = log((igraph.size$abundance)*100) # 原始数据是什么,为什么*100再取e对数 V(igraph) $size = igraph.size1 # set vertices color igraph.col = otu_pro[V(igraph)$name,] levels(igraph.col$phylum = length(V(igraph))# length(diversity(igraph, weights = NULL, vids = V(igraph))) num.vertices # 连接数(

    10.4K106发布于 2019-05-09
  • 来自专栏素质云笔记

    R语言︱SNA-社会关系网络—igraph包(社群划分、画图)(三)

    社群划分跟聚类差不多,参照《R语言与网站分析》第九章,社群结构特点:社群内边密度要高于社群间边密度,社群内部连接相对紧密,各个社群之间连接相对稀疏。

    3.5K10发布于 2019-05-27
  • 来自专栏素质云笔记

    R语言︱SNA-社会关系网络—igraph包(中心度、中心势)(二)

    以下的代码都是igraph包中的。 这里可以看到某点的中间中心度,某点betweenness(g,V(g)$label=="c") 同时igraph包在操作过程中,会返回所有点的中心度,比如(1,2,4,5)则会返回5个数字,没有的3也会有位置

    8.7K21发布于 2019-05-27
  • 来自专栏光城(guangcity)

    社交网络之图论实战

    1.准备工作 本节以python-igraph来学习社交网络与图论相关知识! 【两个网站】 那么我们一起来安装一下,这里引入两个网站。 第一:(whl)包安装网站: https://www.lfd.uci.edu/~gohlke/pythonlibs/ 第一:igraph API官网: http://igraph.org/python/ 3.社交网络实战 导包 from igraph import * 版本 igraph. IGRAPH U--- 0 0 -- 添加三个节点 # 添加三个节点 g.add_vertices(3) 打印 print(g) 输出: IGRAPH U--- 3 0 -- 添加两条边 #添加两条边 (下面给出地址) http://igraph.org/python/doc/tutorial/install.html#installing-igraph

    2.6K41发布于 2019-09-20
  • 来自专栏生信小驿站

    使用R语言绘制string蛋白互作图

    此外,iGraph包作为代表蛋白质-蛋白质相互作用网络的数据结构。 首先,首先知道所拥有生物的NCBI分类标准标识符(例如,人类使用9606,小鼠使用10090)。 $to)) } %>% distinct() # 创建网络图 # 根据links和nodes创建 net <- igraph::graph_from_data_frame(d=links,vertices =nodes,directed = F) # 添加一些参数信息用于后续绘图 # V和E是igraph包的函数,分别用于修改网络图的节点(nodes)和连线(links) igraph::V(net)$deg <- igraph::degree(net) # 每个节点连接的节点数 igraph::V(net)$size <- igraph::degree(net)/5 # igraph::E(net)$width <- igraph::E(net)$weight/10 ########################################################## #########

    2.9K30发布于 2020-09-01
  • 来自专栏R语言及实用科研软件

    🤠 Network | 高颜值网络可视化工具(一)

    需要的文件:我们在使用network,igraph等包进行网络可视化的时候,一般需要两个数据,nodes数据和edges,即节点数据和边数据。ヽ( o・ェ・)ノ 2. 用到的包 rm(list = ls()) library(tidyverse) library(network) library(igraph) 3. 网络可视化(二) 方法二:igraph包可视化 detach(package:network) rm(routes_network) ---- 7.1 构建网络文件 这里用到igraph包的graph_from_data_frame 和Delft之间的关系 plot(routes_igraph, layout = layout_with_graphopt, edge.arrow.size = 0.2) -- -- 7.4 igraph的常用layout ✅ add_layout_(); ✅ component_wise(); ✅ layout_as_bipartite(); ✅ layout_as_star

    53310编辑于 2022-10-31
  • 来自专栏R语言及实用科研软件

    🤠 Network | 高颜值网络可视化工具(一)

    undefined需要的文件 :我们在使用network,igraph等包进行网络可视化的时候,一般需要两个数据,nodes数据和edges,即节点数据和边数据。ヽ( o・ェ・)ノ 2. 用到的包 rm(list = ls()) library(tidyverse) library(network) library(igraph) 3. 网络可视化(二) 方法二: igraph包可视化 detach(package:network) rm(routes_network) 7.1 构建网络文件 这里用到igraph包的graph_from_data_frame 函数 routes_igraph <- graph_from_data_frame(d = edges, vertices = nodes, directed = TRUE) 7.2 初步绘图 plot 之间的关系 plot(routes_igraph, layout = layout_with_graphopt, edge.arrow.size = 0.2) 图片 7.4 igraph

    79921编辑于 2022-10-13
  • 来自专栏机器学习与统计学

    【R语言在最优化中的应用】igraph 包在图与网络分析中的应用

    igraph 包在图与网络分析中的应用 igraph 包是一个非常强大的包,它可以快速轻松地创建、绘制和分析无向图及有向图(图的顶点和边允许百万以上),并解决了经典图论问题,如最小生成树、最大网络流量、 igraph包中,graph.maxflow() 函数可以解决最大流问题,用法为: graph.maxflow(graph, source, target, capacity=NULL) 其中,graph 为要处理的图,为igraph 格式,其创立方式非常简单,参见帮助文档。 R代码及运行结果如下: 1 > library(igraph) #载入包 2 > e = matrix(nc = 3, byrow = TRUE, c(0,1,5, 0,2,4, 0,3,3, 1,5,3 mode = "out") #最短路矩阵 15 [,1] [,2] [,3] [,4] [,5] [,6] [,7] [,8] 16 [1,] 0 5 4 3 10 7 5 10 1 > library(igraph

    5.3K30发布于 2019-04-10
  • 来自专栏生信菜鸟团

    R tips:cellphonedb细胞通讯网络图优化

    参考上次的推文,略作修改,结果如下: library(tidyverse) library(igraph) # 解析cellphonedb输出文件:means文件 network_dat <- "pvalues.txt igraph里面有很多的布局,查看layout的帮助文档就可以知道:?igraph::layout。 ::ends(net, es=igraph::E(net), names=FALSE) loop.edge.idx <- which(edge.start[,2] == edge.start[,1]) # 计算反正切函数值,并还相反数和加pi处理 angles <- atan(coords[igraph::V(net),2]/coords[igraph::V(net),1]) loop.angle <- ifelse(coords[igraph::V(net), 1]>0, -angles, pi-angles) # 只调整环形边的旋转角度 igraph::E(net)$loop.angle <

    49511编辑于 2024-07-22
领券