网络分析流程与 NetworkX 实践09 / 16
可视化工具与原则
| 工具 | 适合做什么 | 提示 |
|---|---|---|
| NetworkX + Matplotlib | 分析过程中快速看图、画度分布等统计图 | 布局用 spring_layout 并固定 seed;NetworkX
官方文档说明其绘图功能只是基础性的,建议用专门工具作图 |
| Gephi(gephi.org) | 中大型网络的交互式布局(ForceAtlas2)、按社团着色、导出高分辨率图 | 用 nx.write_gexf
导出,节点属性(社团、中心性)会一起带过去 |
| Cytoscape(cytoscape.org) | 生物分子网络的标准工具:可直接导入 STRING 网络(stringApp),做功能富集、聚类等 | 官方教程见 tutorials.cytoscape.org;属性到颜色、大小的“样式映射”可保存复用 |
| Graphviz | 层次布局(dot)、小型有向网络与流程图 |
适合调控级联、通路示意 |
| 邻接矩阵热图(Matplotlib) | 稠密网络(如脑功能连接);按模块排序后块结构清晰 | 行列顺序决定能否看出结构,排序方式要写明 |
好的网络图要回答一个问题。“毛线团”式的全网图信息量很小。更好的做法是:按社团着色、节点大小映射某个中心性、只标注关键节点;或者干脆用统计图(度分布、中心性排名条形图、与零模型比较的箱线图)来呈现结论。更多图表原则见研究结果的图表呈现。
网络图的视觉编码原则:
- 一个视觉通道只编码一个变量:节点颜色表示类别(社团、节点类型),节点大小表示一个连续量(度、中心性),边的粗细表示权重。类别颜色一般不超过 8 种左右,再多就难以分辨;连续量用单色渐变而非彩虹色。
- 面积而非半径与数值成正比:若半径与数值成正比,大节点会被视觉放大。
- 标签要少:只标注文中讨论的节点。
- 稠密网络考虑矩阵视图:边数远多于节点数时,按模块排序的邻接矩阵热图通常比节点–边图更清楚。
- 展示用的阈值不等于分析用的阈值:为了画图只显示最强的边是可以的,但要在图注中写明,且不能用这张图去“说明”分析结果。
- 可复现:固定布局随机种子、保存坐标;桌面软件中保存会话文件与样式文件。
- 可读性:考虑色觉障碍读者(避免只靠红绿区分)、黑白打印与缩印后的清晰度。