def ped_group(pedgraph, nlist, nscale=600, nalpha=0.95, nsize=15, ealpha=0.2, ewidth=0.3, ecolor="#000000",
atName="attr1", atCol=4):
'''
Receives a networkx graph and plots.
- needs matplotlib package
:param pedgraph: networkX graph object (pedigree)
:param nscale: scale of the plot
:param nalpha: node transparency
:param nsize: node size
:param ncolor: node color
:param ealpha: edge transparency
:param ewidth: edge width
:param ecolor: edge color
:return:
'''
grpList = [line.strip() for line in open(nlist, 'r')]
part = add_node_attribute("ped_testherd.in", pedgraph, atName=atName, atCol=atCol)
values = [part.get(node) for node in grpList]
pos = nx.spring_layout(pedgraph, scale=nscale)
nx.draw_networkx_nodes(pedgraph, pos, nodelist=grpList,
alpha=nalpha, node_color=values, node_size=nsize, linewidths=0.1,
cmap=plt.get_cmap('Paired'))
# label plot not feasable for larger networks
# nx.draw_networkx_labels(pedgraph, pos)
# nx.draw_networkx_edges(pedgraph, pos, alpha=ealpha, width=ewidth, edge_color=ecolor)
plt.axis("off")
plt.show()
评论列表
文章目录