networkx怎么显示图_networkx + Cytoscape 构建及可视化网络图

本次笔记内容:

网络图的简要结构

以相关系数表为例:networkx构建网络结构

Cytoscape可视化网络图

co-XXX network

网络图的简要结构

网络结构由点及连接点的线组成,反映了点所代表的元素之间的关系。网络图使得我们对各元素之间的关系有一个直观的认识。

点:

点的大小可以表示该元素所包含的样本数/数值大小等;

点的颜色及形状可以表示该元素的类别属性。

线:

线的粗细可以表示两元素之间关联的大小(比如相关系数的大小);

线的颜色可以表示两元素之间关联的方向(比如相关系数的正负),或者你自定义的某些类别;

线可以包含箭头,同样可以表明方向;

线的形状可以为直线或曲线,曲线可以在两个元素之间不重合。以上需根据具体科学目的自定义其属性。

以相关系数表为例network绘制网络图

这里用的networkx是Python一个模块。我们用它来定义构成网络图的点,线,及点线的各种属性。

安装networkx : $ pip install networkx

以下为一个基础示例,可以快速了解一下:

import networkx as nx

import matplotlib.pylab as plt

G = nx.Graph() # 生成一个空的network对象

G.add_node('a',group='t1', your_group='your_group1' ) # 添加每个点(node), group就是node的类别属性,你可以自定义每个node的属性。

G.add_node('b',group='t1', )

G.add_node('c',group='t2')

print(G.node(data=True))

# 点以list储存,是有顺序的,其属性以字典储存。

# [('a', {'group': 't1', 'your_group': 'your_group1'}), ('b', {'group': 't1'}), ('c', {'group': 't2'})]

G.add_edge('a', 'b', weight=0.5,graphics={'fill' : '#CD5C5C'}) # 添加边,a,b两点之间的连线weight为0.5,填充颜色为#CD5C5C

print(G.edge(data=True))

# [('a', 'b', {'weight': 0.5, 'graphics': {'fill': '#CD5C5C'}})]

# 注意以上network各属性的存储方式,可以通过for循环来批量设置点和线的属性。

node_color = ['yellow','yellow','orange']

nx.draw(G,node_color=node_color,node_size=200, with_labels=True)

plt.show()

# 可以结合matplotlib在python里可视化

nx.write_gml(G, 'XXX.gml'

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值