python—networkx:根据图的权重画图

首先输入边和边的权重,随后画出节点位置,根据权重大小划分实边和虚边

<pre name="code" class="python">#coding:utf-8
#!/usr/bin/env python
"""
An example using Graph as a weighted network.
"""
__author__ = """Aric Hagberg ([email protected])"""
try:
    import matplotlib.pyplot as plt
except:
    raise

import networkx as nx

G=nx.Graph()
#添加带权边
G.add_edge('a','b',weight=0.6)
G.add_edge('a','c',weight=0.2)
G.add_edge('c','d',weight=0.1)
G.add_edge('c','e',weight=0.7)
G.add_edge('c','f',weight=0.9)
G.add_edge('a','d',weight=0.3)
#按权重划分为重权值得边和轻权值的边
elarge=[(u,v) for (u,v,d) in G.edges(data=True) if d['weight'] >0.5]
esmall=[(u,v) for (u,v,d) in G.edges(data=True) if d['weight'] <=0.5]
#节点位置
pos=nx.spring_layout(G) # positions for all nodes
#首先画出节点位置
# nodes
nx.draw_networkx_nodes(G,pos,node_size=700)
#根据权重,实线为权值大的边,虚线为权值小的边
# edges
nx.draw_networkx_edges(G,pos,edgelist=elarge,
                    width=6)
nx.draw_networkx_edges(G,pos,edgelist=esmall,
                    width=6,alpha=0.5,edge_color='b',style='dashed')

# labels标签定义
nx.draw_networkx_labels(G,pos,font_size=20,font_family='sans-serif')

plt.axis('off')
plt.savefig("weighted_graph.png") # save as png
plt.show() # display

版权声明:欢迎转载,转载请注明出处http://blog.csdn.net/ztf312/

时间: 2024-10-11 08:23:49

python—networkx:根据图的权重画图的相关文章

[Python]networkx入门

networkx是python的一个第三方包,可以方便地调用各种图算法的计算. 通过调用python画图包matplotlib能实现图的可视化. 1.安装 正好整理一下python第三方包的安装方法. setuptools 使用setuptools包,我们能够手动下载,安装第三方包. 使用方式: 下载第三方包源文件,在setup.py目录下执行 python XX install easy_install easy_install工具,自动化地根据第三方包的名称,一键联网搜索,下载并且调用set

python scikit-learn计算tf-idf词语权重

python的scikit-learn包下有计算tf-idf的api,研究了下做个笔记 1 安装scikit-learn包 sudo pip install scikit-learn 2 中文分词采用的jieba分词,安装jieba分词包 sudo pip install jieba 3  关于jieba分词的使用非常简单,参考这里,关键的语句就是(这里简单试水,不追求效果4 ) import jieba.posseg as pseg words=pseg.cut("对这句话进行分词"

TensorFlow的初次使用+Python画3D图和计算KL散度

ython计算KL散度import numpy as np import scipy.stats x = [np.random.randint(1,11) for i in range(10)] print(x) print(np.sum(x)) px = x/np.sum(x)#归一化 print(px) y = [np.random.randint(1, 11) for i in range(10)] print(y) print(np.sum(y)) py = y / np.sum(y)#

2019版python学习路径图

据了解,在Blender.GIMP等软件的背后,Python图形处理脚本已经在发挥越来越大的作用.如果你看过Blender基金会制作的三部开源动画影片,你甚至还能预期不远的未来,Python终将有一天能够进军好莱坞,成为数字电影制作的一种工具.因此有越来越多的人加入到Python的学习中来.2019版python学习路径图分享给你.有人说Python难,其实只是因为很多人不熟悉python的部署,所以才说难,目前python不是非常普及的原因有两个:第一是会python的程序员较少,从招人就能看

用python networkx 实现结构洞经典指标的计算

结构洞经典指标有效大小(effective size).效率(efficiency).约束(constraint)和层级(hierarchy)进行测量,其中约束是最重要的指标,是指网络成员的联系在多大程度上是冗余的,约束越大,网络中存在的结构洞越少. 面临问题:由于UCINET软件最大只能计算32 767 节点,所以当数据量较大的时候,只能借用编程语言来实现.python 的networkx 包提供大量的计算社会网络指标的函数. effective size:可以用 networkx.effec

Python10分钟入门教程,Python入门神图一张

这篇文章主要介绍了Python 10分钟入门教程,分享一张Python入门神图一张,具有一定的参考价值,感兴趣的小伙伴们可以参考一下| 初试牛刀 假设你希望学习Python这门语言,却苦于找不到一个简短而全面的入门教程.那么本教程将花费十分钟的时间带你走入Python的大门.本文的内容介于教程(Toturial)和速查手册(CheatSheet)之间,因此只会包含一些基本概念.很显然,如果你希望真正学好一门语言,你还是需要亲自动手实践的.在此,我会假定你已经有了一定的编程基础,因此我会跳过大部分

python—networkx:依据图的权重绘图

首先输入边和边的权重,随后画出节点位置.依据权重大小划分实边和虚边 #coding:utf-8 #!/usr/bin/env python """ An example using Graph as a weighted network. """ __author__ = """Aric Hagberg ([email protected])""" try: import matplot

python—networkx:在一张图中画出多个子图

通过plt.subplot能够在一张图中画出多个子图 #coding: utf-8 #!/usr/bin/env python """ Draw a graph with matplotlib. You must have matplotlib for this to work. """ __author__ = """Aric Hagberg ([email protected])"""

python—networkx:画随机几何图,找出中心节点并按路径长度染色

随机生成一个集合图,自带路径属性,图大小为1*1,找出距离中心[0.5, 0.5]最近的节点,并按照路径染色. NetworkX Examples ? Drawing ? Random Geometric Graph <pre name="code" class="python">#coding:utf-8 import networkx as nx import matplotlib.pyplot as plt G=nx.random_geometri