例如,我想在级别顺序层次结构中可视化我的图形,但每个节点可以有多个父项和子项,我希望能够通过选择2个节点遍历GUI中的图形。
目前,'breadthfirst'布局允许层次结构,而'cose'布局允许复合节点(可以有多个父节点和子节点的节点)。有没有办法调整其中任何一个的源代码,或者从头开始为cytoscape制作我自己的自定义布局?
答案 0 :(得分:0)
尝试现有的布局:
df = pd.read_csv(StringIO("""h1^Ah2^Ah3^B111^A222^A333^B111^A222^A333^B111^A222^A333"""),
sep='\^B',engine='python', header=None)
df = df.stack().to_frame()
df
Out[52]:
0
0 0 h1^Ah2^Ah3
1 111^A222^A333
2 111^A222^A333
3 111^A222^A333
df = df[0].str.split('\^A', expand=True)
df
Out[54]:
0 1 2
0 0 h1 h2 h3
1 111 222 333
2 111 222 333
3 111 222 333
df.columns = df.iloc[0].tolist()
df
Out[69]:
h1 h2 h3
0 0 h1 h2 h3
1 111 222 333
2 111 222 333
3 111 222 333
df = df[1:]
df
Out[71]:
h1 h2 h3
0 1 111 222 333
2 111 222 333
3 111 222 333
和breadthfirst
是特定于DAG的布局。 dagre
支持类似DAG的流程,但它是一种力导向的布局。
或者编写自己的布局:http://js.cytoscape.org/#extensions/api