Gephi绘制网络图初步探索
文章目录
- 1. Gephi 基本功能简介
- 1.1 数据输入格式
- 1.2 Gephi界面初探
- 1.3 数据导入
- 2. 设置节点的属性
- 2.1 设置节点颜色
- 2.2 设置节点大小
- 2.3 设置布局
- 2.4 关于边的属性
- 3. 图的设置
- 4. 预览(preview)
- 5. 导出
- 6. 参考链接
1. Gephi 基本功能简介
近期因为要绘制特效基因网络图,所以开始学习Gephi, Gephi是一款功能很强大的网络绘制软件,对于网络可视化很有效,可在官网下载: https://gephi.org/users/download/
自己之前主要是使用cytoscape绘网络,这两款软件可以说是各有特点,但是这篇笔记只讲Gephi,以后再总结cytoscape的使用
1.1 数据输入格式
Gephi软件的数据输入需要准备两份: (1) 边(edges)关系表格 (2) 点(node)表格
- 边关系表格
边关系表格的格式如下,前两列列名必需为source
,target
, 第三列开始可以是其它的列值,我这里是Pearson系数,表征边关系的强弱
- 点表格
点表格的第一列id
是必需的,另外自己可以添加label
列(点标签) 和class
点集的分类(后续可根据分类为不同组的节点绘制不同颜色,同一组内的节点绘制同一种颜色)
1.2 Gephi界面初探
下载好JDK8,然后安装上Gephi, 打开Gephi就会出现以下界面:
我下载的时Gephi 0.9.2版本,此版本既有英文又有中文,图中的界面分为三块:
- 最左边上面的一列是外观(appearance),我们可以在这里设置节点和边的颜色,大小等等属性
- 最左边下面的一列是布局(layout), 我们可以在这里设置整体网络的结构,可以是circular 等等
- 第二列中间最大的画面,写了一个
图
, 这里就是我们修改网络时的展示界面 - 最右边的一列,右上角的 上下文(context) 主要就是网络的一些基本属性,例如网络的节点数目,边数目
- 最右边下面的那一列,过滤 用于过滤网络中的满足某些条件的节点和边, 统计用于表述网络属性,例如网络平均度,图密度,网络直径等等
1.3 数据导入
我先导入边文件,点击 文件
-> 打开
图的类型可以选择 混合的,有向图, 无向图
注意
当我们导入了边关系的表格之后, 再次导入点关系的表格时, 要选择 Append to existing workspace
, 这样我们导入的边和点,就在同一个工作空间内了
2. 设置节点的属性
2.1 设置节点颜色
导入数据之后,外观这里会有如下界面显示,我们分别选择 节点 或者 边 就可以分别设置节点和边的属性(颜色,大小等等)。 点击调色盘图像可以设置颜色,调色盘旁边的同心圆可以设置节点大小(边没有这个设置) , A一个下划线的图标 用于设置标签颜色, TT用于设置标签大小
- 统一的(unique) 指的是,对所有的节点实施同一种颜色设置
- partition 这里可以根据我们对节点的分类,对不同的分类中的节点上色,我之前导入的数据中有为每个节点标注了所属的class类(subnet1, subnet2, subnet3, subnet4 …), 因此我点击之前我设置的class就会弹出 不同class的颜色配置
选择class
Gephi提供调色板,我们可以用调色板生成不同的颜色 ( 点击调色盘 - > 生成 ),会出现以下反转调色盘的界面,我点击Blue Ocean, 生成8种蓝色渐变色,再次点击确认,我们就为自己的不同分类的节点画上了渐变蓝色
2.2 设置节点大小
点击 节点
-> 第二个同心圆
- > Ranking
-> 渲染方式选择 度
(这样它就会根据度的数目来设置节点的大小,如果一个节点的度数越多,那么它就越大,反之它就越小) 这里我选择最小尺寸20,最大尺寸50
2.3 设置布局
Gephi提供多种布局算法,也可以自己下载插件扩充布局样式( 工具
-> 插件
),关于布局设置可以详见: https://gephi.org/tutorials/gephi-tutorial-layouts.pdf
我选择 Fruchterman Reingold
布局,点击运行,等网络稳定之后点击停止
可以看到咱们的网络已经初具雏形了
2.4 关于边的属性
我们的边也可以设置颜色,默认情况下,如果我们为节点分了类标注了不同的颜色,那么我们和节点直接相连的那些边的颜色是和源节点一样的。我们也可以为所有的边设置同样的颜色(点击统一的 unique 即可), 也可以根据class分类为不同分类下的边设置不同的颜色(点击Partition -> 自己设置好的分类的那一列即可)。 边的粗细可以在预览(preview)里面更改。
3. 图的设置
我们中间最大的这个图的工作界面也有很多小的工具可以使用
最常用的就是:
- 左边那一列中类似于手的那个按钮:我们可以用来拖动图中的节点
- 左边那一列中小钢笔的按钮: 可以为我们的节点着色
- 下面那一行中的第一个小灯泡按钮,可以更改我们画布的背景色,这里我们颜色更改为黑色
- T字加粗的那个按钮,可以显示我们节点的标签
另外还有标签字的粗细大小调整,这个就不详述了, 大家可以自己点击看看
4. 预览(preview)
图片在概览(overview)中绘制好后,我们就转到预览(Preview),来为图片最后的输出做一些调整和准备
点击预览按钮后,我们转到了预览界面, 此时一定要首先点击 刷新
按钮,否则预览画布中不会自动加载我们overview中的图。 在预览界面中 对网络做了调整之后,也一定要点击 刷新
按钮 才能使我们在预览中的更改生效。
现在我把预览中的背景变黑,并且调整节点的透明度为50,点击刷新
大功告成! 此时还可以调整边的厚度(bold) 来更改边的粗细,我设置边的厚度为2,可以看到边确实边厚了
5. 导出
在Gephi中绘制好网络图后,点击 文件
-> 输出
选项这里可以设置我们输出文件的大小
注意
在输出这里Gephi有一个较大的bug, 那就是如果我们图中的数据节点较多,那么它可能在输出 PDF 和 SVG的时候 就只有边,而不导出节点,类似于下面这样
我查阅了一些Bug解决方案,但是对我的电脑没用,所以我直接通过设置选项中PNG图片的像素大小,来获取高分辨率的网络图了,虽然我的电脑不能解决,但是bug方案可能对别人的电脑有价值,所以也贴出来供大家参考:
- https://github.com/gephi/gephi/issues/1760 Nodes not exported to PDF
- https://github.com/gephi/gephi/issues/1759 Nodes not exported to PDF
- http://forum-gephi.org/viewtopic.php?t=6254 Nodes not exported to PDF
- https://github.com/gephi/gephi-plugins/pull/161 Nodes not exported to PDF
6. 参考链接
- https://yulab-smu.github.io/clusterProfiler-book/chapter12.html#browsekegg clusterProfiler
- https://www.jianshu.com/p/86145943695a Gephi
- https://zhuanlan.zhihu.com/p/26718634 Gephi
- http://wencke.github.io/ GOplot
- https://mp.weixin.qq.com/s/Flibu9DFjUUmOM_FctPeSQ 桑基图
- https://gephi.org/tutorials/gephi-tutorial-layouts.pdf Gephi layout tutorial
Gephi绘制网络图初步探索相关推荐
- 利用Gephi软件绘制网络图
文章目录 利用Gephi软件绘制网络图 1. 生成物种相关性矩阵 2. Gephi生成点.边文件 3. 点.边文件注释 4. 网络点.边美化 5. 网络属性.预览和标签 参考文献 猜你喜欢 写在后面 ...
- python画有权重网络图_Python可视化之NetworkX绘制网络图\节点关系
除了Gephi,python的NetworkX也是绘制网络图的利器,后者功能更强大,能兼容Gephi的一些绘制结果,但相应学习成本也更高点.另外似乎还有一个igraph-python库,后期可以学习一 ...
- 使用networkx绘制网络图及模块使用
使用networkx绘制网络图及模块使用 主要练习了包和模块的生成,并且学习了各种可视化的操作方法,包括networkx库(对于网络的生成).使用matplotlib.seaborn画柱形图,折线图等 ...
- cytoscape要求的JAVA版本_微生物研究必备:Cytoscape绘制网络图(一)
原标题:微生物研究必备:Cytoscape绘制网络图(一) Cytoscape 是一个专用于互作网络数据可视化的软件.在微生物研究领域,通过对不同样本间的物种丰度信息进行相关性分析,可以获得物种在环境 ...
- python socket发送数组_利用pyprocessing初步探索数组排序算法可视化
[经过两次更新,功能基本完成]最终效果请直接下拉到最后一个视频观看 背景说明 这篇文章旨在初步探索利用pyprocessing的强大的可视化功能,以及pyprocessing和Ipython之间的本地 ...
- Alibaba Druid 源码阅读(二) 数据库连接池实现初步探索
Alibaba Druid 源码阅读(二) 数据库连接池实现初步探索 简介 在上篇文章中,了解了连接池的应用场景和本地运行了示例,本篇文章中,我们尝试来探索下Alibaba Druid数据库连接池的整 ...
- Redis主从复制架构初步探索 http://www.sxt.cn/info-1750-u-324.html#SXT_h2_11
Redis主从复制架构初步探索 目录http://www.sxt.cn/info-1750-u-324.html#SXT_h2_11 · 一.主从复制架构简介 · 1.1 源于关系数据库的读写分离 ...
- 利用igraph包绘制网络图
本文是复杂网络课的一个小作业,主要学习如何导入图数据以及如何利用igraph包绘制网络图. 导入边数据和节点数据 这里主要是将边数据和节点数据分别导入,再利用igraph包中的graph_from_d ...
- 企查查app sign算法破解初步探索
企查查app sign算法破解初步探索 之前有说过企查查的sign的解密,但这次是企查查app的sign算法破解,目前是初步进程. 目前我们需要做查壳,具体方法可以百度搜索,企查查用的360加固,很简 ...
- 【科学文献计量】networkx绘制网络图的基本属性,图形读写以及无向/有向图形绘制详解
networkx绘制网络图基本属性,图形读写以及无向/有向图形绘制详解 1 Properties of graph 图像属性 1.1 案例 1.2 代码详解 2 Read and write grap ...
最新文章
- html tfoot标签,HTML tfoot 标签
- vue axios拦截器的封装
- 数据库中什么是主键,什么是外键?
- 弹性地基梁板实用计算_强夯地基承载力原理及测试方法
- CruiseControl.NET与TFS结合的配置文件
- 【转】我的CV之路第一篇:ITK是啥?
- 优秀REST风格 API的设计原则
- 常用MySQL数据库命令总结
- Dreamweaver做网页
- ZOJ 3983 2017CCPC秦皇岛 C:Crusaders Quest
- jw player 5去掉share,info,embed页面
- 为什么很少人学汇编_为什么那么多人学模具,成功的只有不到5%???
- 性能优化之雅虎35条军规
- Kaggle数据集Telco-Customer-Churn.csv特征相关性分析(用LabelEncoder编码)
- 计算机丢失msvcp90dll怎么办,msvcp90.dll
- WeaveSocket框架-Unity太空大战游戏-通信协议-2
- 焊接技巧 -- 拖焊
- 豆腐锅巴--怀念娭毑_原水_新浪博客
- DirectX11 With Windows SDK--15 几何着色器初探
- 查询物流信息,出现特殊符号如何一键替换
热门文章
- 基于SSM实现旅游住宿和导游系统
- JavaWeb如何学?
- 【PTA L2-012】关于堆的判断(堆的建立和特殊字符串的读入)
- 输入输出知识点和问题超全总结(持续更新中)
- php pmt,关于光电倍增管(PMT)模块的选型与使用
- 列转行 带逗号_Excel 统计压岁钱?按逗号拆分单元格且纵向排列,分离中文和数字...
- C语言向文件写入学生信息并读取显示出来
- Keras 开发你的第一个 Python 深度学习项目
- 算法:回溯四 Combination Sum II组合总数II
- 异步ajax动态实现级联,JQuery异步加载无限下拉框级联功能实现示例