Cytoscape有向网络图节点分组可视化及节点着色方法咨询
你提供的测试数据构造代码如下:
data <- data.frame(from = letters[1:20], to= LETTERS[1:20], group = rep(c("normal", "middle", "high","veryhigh"),times =c(5,5,5,5)))
Cytoscape 节点颜色配置操作指引
边表导入Cytoscape生成初始网络后,按以下步骤操作即可实现需求:
1. 区分from、to两类节点的填充色
- 打开右侧面板的Node Table(节点表),点击表格右上角的加号新建字符串类型的属性列,命名为
node_type。 - 筛选所有属于原始
from列的小写字母节点,批量将其node_type赋值为source;筛选所有属于原始to列的大写字母节点,批量赋值为target。 - 切换到左侧控制面板的**Style(样式)**标签页,找到「Fill Color(填充颜色)」选项,点击右侧的映射按钮,映射列选择
node_type,映射类型选「Discrete Mapping(离散映射)」,分别为source、target两类设置不同填充色即可。
2. 按group分类为节点配置显示颜色
你原始数据的group值和from列节点一一对应,首先需要先把group属性挂载到对应节点上:
- 回到Node Table,新建字符串类型的属性列,命名为
group,按照原始数据的对应关系,给每个from列节点批量填写对应的group值(normal/middle/high/veryhigh),如果to列节点也需要绑定group属性可以按需补充。 - 如果要在同一张图中同时体现两类节点的区分和group分类,推荐两种实现方式:
- 填充色映射group,边框色映射节点类型:Fill Color选择
group列做离散映射,为4个group分类分别设置不同填充色;再找到「Border Paint(边框颜色)」选项,映射node_type列,为两类节点设置不同边框色,可将边框宽度调整为2~3px提升辨识度。 - 合并属性做复合映射:在Node Table新建
combined_attr列,将node_type和group两个属性拼接为唯一值(例如source_normal、target_middle等),再对该列做离散映射,为每个组合值设置单独的填充色即可。
- 填充色映射group,边框色映射节点类型:Fill Color选择
内容的提问来源于stack exchange,提问作者adR
相关产品推荐
相关产品推荐

