如何实现新的节点形状



我正在Cytoscape中绘制一个网络,在R中添加几个模仿pch形状的节点形状会很方便,这样我的网络就可以与我所有的其他图形相匹配。

R中的网络布局通常看起来很糟糕,但是我可以将节点格式化为与其他图中的节点非常相似。另一方面,Cytoscape做了更好的布局,但是节点的形状和样式是有限的。

是否可以在Cytoscape中实现其他形状(例如通过插件),或者,我可以从Cytoscape导出网络布局并在R中使用它吗?谢谢你!

我自己解决了。答案是使用"rcy3";R包。我在Cytoscape中对我的网络进行了布局,然后通过RCy3在R中连接到Cytoscape。这个包有getNodePosition函数,它将返回当前网络在Cytoscape中的节点位置。

以下代码将获得此布局(Cytoscape必须正在运行并向所需网络打开):

cytoscapePing()
mygraph<-createIgraphFromNetwork()
mylayout<-getNodePosition()
mylayout$x_location<-as.numeric(as.character(mylayout$x_location))
mylayout$y_location<-as.numeric(as.character(mylayout$y_location))
colnames(mylayout)<-c("x","y")

然后可以使用ggraph或R中的其他网络绘图包绘制,使用R pch符号作为节点形状。

最新更新