文章目录

  • 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绘制网络图初步探索相关推荐

  1. 利用Gephi软件绘制网络图

    文章目录 利用Gephi软件绘制网络图 1. 生成物种相关性矩阵 2. Gephi生成点.边文件 3. 点.边文件注释 4. 网络点.边美化 5. 网络属性.预览和标签 参考文献 猜你喜欢 写在后面 ...

  2. python画有权重网络图_Python可视化之NetworkX绘制网络图\节点关系

    除了Gephi,python的NetworkX也是绘制网络图的利器,后者功能更强大,能兼容Gephi的一些绘制结果,但相应学习成本也更高点.另外似乎还有一个igraph-python库,后期可以学习一 ...

  3. 使用networkx绘制网络图及模块使用

    使用networkx绘制网络图及模块使用 主要练习了包和模块的生成,并且学习了各种可视化的操作方法,包括networkx库(对于网络的生成).使用matplotlib.seaborn画柱形图,折线图等 ...

  4. cytoscape要求的JAVA版本_微生物研究必备:Cytoscape绘制网络图(一)

    原标题:微生物研究必备:Cytoscape绘制网络图(一) Cytoscape 是一个专用于互作网络数据可视化的软件.在微生物研究领域,通过对不同样本间的物种丰度信息进行相关性分析,可以获得物种在环境 ...

  5. python socket发送数组_利用pyprocessing初步探索数组排序算法可视化

    [经过两次更新,功能基本完成]最终效果请直接下拉到最后一个视频观看 背景说明 这篇文章旨在初步探索利用pyprocessing的强大的可视化功能,以及pyprocessing和Ipython之间的本地 ...

  6. Alibaba Druid 源码阅读(二) 数据库连接池实现初步探索

    Alibaba Druid 源码阅读(二) 数据库连接池实现初步探索 简介 在上篇文章中,了解了连接池的应用场景和本地运行了示例,本篇文章中,我们尝试来探索下Alibaba Druid数据库连接池的整 ...

  7. 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 源于关系数据库的读写分离 ...

  8. 利用igraph包绘制网络图

    本文是复杂网络课的一个小作业,主要学习如何导入图数据以及如何利用igraph包绘制网络图. 导入边数据和节点数据 这里主要是将边数据和节点数据分别导入,再利用igraph包中的graph_from_d ...

  9. 企查查app sign算法破解初步探索

    企查查app sign算法破解初步探索 之前有说过企查查的sign的解密,但这次是企查查app的sign算法破解,目前是初步进程. 目前我们需要做查壳,具体方法可以百度搜索,企查查用的360加固,很简 ...

  10. 【科学文献计量】networkx绘制网络图的基本属性,图形读写以及无向/有向图形绘制详解

    networkx绘制网络图基本属性,图形读写以及无向/有向图形绘制详解 1 Properties of graph 图像属性 1.1 案例 1.2 代码详解 2 Read and write grap ...

最新文章

  1. html tfoot标签,HTML tfoot 标签
  2. vue axios拦截器的封装
  3. 数据库中什么是主键,什么是外键?
  4. 弹性地基梁板实用计算_强夯地基承载力原理及测试方法
  5. CruiseControl.NET与TFS结合的配置文件
  6. 【转】我的CV之路第一篇:ITK是啥?
  7. 优秀REST风格 API的设计原则
  8. 常用MySQL数据库命令总结
  9. Dreamweaver做网页
  10. ZOJ 3983 2017CCPC秦皇岛 C:Crusaders Quest
  11. jw player 5去掉share,info,embed页面
  12. 为什么很少人学汇编_为什么那么多人学模具,成功的只有不到5%???
  13. 性能优化之雅虎35条军规
  14. Kaggle数据集Telco-Customer-Churn.csv特征相关性分析(用LabelEncoder编码)
  15. 计算机丢失msvcp90dll怎么办,msvcp90.dll
  16. WeaveSocket框架-Unity太空大战游戏-通信协议-2
  17. 焊接技巧 -- 拖焊
  18. 豆腐锅巴--怀念娭毑_原水_新浪博客
  19. DirectX11 With Windows SDK--15 几何着色器初探
  20. 查询物流信息,出现特殊符号如何一键替换

热门文章

  1. 基于SSM实现旅游住宿和导游系统
  2. JavaWeb如何学?
  3. 【PTA L2-012】关于堆的判断(堆的建立和特殊字符串的读入)
  4. 输入输出知识点和问题超全总结(持续更新中)
  5. php pmt,关于光电倍增管(PMT)模块的选型与使用
  6. 列转行 带逗号_Excel 统计压岁钱?按逗号拆分单元格且纵向排列,分离中文和数字...
  7. C语言向文件写入学生信息并读取显示出来
  8. Keras 开发你的第一个 Python 深度学习项目
  9. 算法:回溯四 Combination Sum II组合总数II
  10. 异步ajax动态实现级联,JQuery异步加载无限下拉框级联功能实现示例