Cytoscape3 Desktop如何为节点设置两列来源的双标签?
Cytoscape桌面版单节点多标签展示实现方案
Cytoscape原生功能即可实现单节点同时展示多个字段标签,无需额外安装插件,操作步骤如下:
- 新建自定义拼接列
打开节点表格面板,新建一个字符串类型的自定义列,使用内置公式拼接需要展示的字段内容:- 若要同时展示
name和classID,可直接写拼接公式:=name + "\n" + classID,其中\n代表换行,可根据需要添加自定义分隔符,比如写成=name + " (" + classID + ")"就能实现「疾病名称 (DOID编号)」的展示效果。 - 若要展示列表格式的
synonyms字段,使用内置JOIN函数将列表转为字符串即可,比如用顿号分隔同义词:=name + "\n别名:" + JOIN(synonyms, "、"),需要每个同义词单独换行的话,把分隔符替换为"\n"即可。
- 若要同时展示
- 绑定节点标签
打开「Style」样式面板,找到「Node Label」配置项,将标签映射的列从默认的name替换为刚才新建的拼接列。后续可通过「Label Position」配置调整标签的整体偏移位置,如果需要不同内容错开排版,调整垂直、水平偏移量即可实现主名称在上、编号/别名在下的效果。
如果需要对不同标签单独设置样式(比如classID用更小的灰色字号、同义词用斜体),可以安装官方维护的enhancedGraphics插件实现:
- 打开「App Manager」应用商店,搜索
enhancedGraphics安装即可,该插件支持多标签独立定义位置、字号、颜色,不需要把所有内容拼接在同一个字段里,排版灵活度更高。

针对你提供的cyjs格式文件,导入后
synonyms数组字段会被自动识别为Cytoscape的列表类型列,无需额外做格式转换;部分节点缺失synonyms字段时,公式会自动处理空值,不会出现显示异常。
内容的提问来源于stack exchange,提问作者Jose R
相关产品推荐
相关产品推荐

