生物医学网络科学Biomedical Network Science
网络分析流程与 NetworkX 实践09 / 16

可视化工具与原则

阅读
约 2 分钟
工具 适合做什么 提示
NetworkX + Matplotlib 分析过程中快速看图、画度分布等统计图 布局用 spring_layout 并固定 seed;NetworkX 官方文档说明其绘图功能只是基础性的,建议用专门工具作图
Gephi(gephi.org) 中大型网络的交互式布局(ForceAtlas2)、按社团着色、导出高分辨率图 用 nx.write_gexf 导出,节点属性(社团、中心性)会一起带过去
Cytoscape(cytoscape.org) 生物分子网络的标准工具:可直接导入 STRING 网络(stringApp),做功能富集、聚类等 官方教程见 tutorials.cytoscape.org;属性到颜色、大小的“样式映射”可保存复用
Graphviz 层次布局(dot)、小型有向网络与流程图 适合调控级联、通路示意
邻接矩阵热图(Matplotlib) 稠密网络(如脑功能连接);按模块排序后块结构清晰 行列顺序决定能否看出结构,排序方式要写明

好的网络图要回答一个问题。“毛线团”式的全网图信息量很小。更好的做法是:按社团着色、节点大小映射某个中心性、只标注关键节点;或者干脆用统计图(度分布、中心性排名条形图、与零模型比较的箱线图)来呈现结论。更多图表原则见研究结果的图表呈现。

网络图的视觉编码原则:

  1. 一个视觉通道只编码一个变量:节点颜色表示类别(社团、节点类型),节点大小表示一个连续量(度、中心性),边的粗细表示权重。类别颜色一般不超过 8 种左右,再多就难以分辨;连续量用单色渐变而非彩虹色。
  2. 面积而非半径与数值成正比:若半径与数值成正比,大节点会被视觉放大。
  3. 标签要少:只标注文中讨论的节点。
  4. 稠密网络考虑矩阵视图:边数远多于节点数时,按模块排序的邻接矩阵热图通常比节点–边图更清楚。
  5. 展示用的阈值不等于分析用的阈值:为了画图只显示最强的边是可以的,但要在图注中写明,且不能用这张图去“说明”分析结果。
  6. 可复现:固定布局随机种子、保存坐标;桌面软件中保存会话文件与样式文件。
  7. 可读性:考虑色觉障碍读者(避免只靠红绿区分)、黑白打印与缩印后的清晰度。