1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > python画网络图_python3中NetworkX网络图绘制

python画网络图_python3中NetworkX网络图绘制

时间:2024-06-15 07:44:30

相关推荐

python画网络图_python3中NetworkX网络图绘制

NetworkX是一个用于研究图形和网络的Python库。 NetworkX是根据BSD-new许可证发布的免费软件。可用于创造和操作复杂网络,学习复杂网络的结构及其功能。

有了NetworkX你就可以用标准或者不标准的数据格式加载或者存储网络,它可以产生许多种类的随机网络或经典网络,也可以分析网络结构,建立网络模型,设计新的网络算法,绘制网络。

当然NetworkX单独存在不可能强大,这里春江暮客将使用广泛使用的其他常用python库绘制各种基础的网络图形。

1.绘制最基本的网络图

网络图由节点(node)和连接(edge)构成,在networkx里,pandas的datafrmae每一行代表一个连接里面的点,对应位置产生连接,例子中是from和to的每一个对应位置产生连接。

################导入所需库

import pandas as pd

import numpy as np

import networkx as nx

import matplotlib.pyplot as plt

################绘制网络图

df = pd.DataFrame({ 'from':['A', 'B', 'C','A'], 'to':['D', 'A', 'E','C']})

basic_net=nx.from_pandas_edgelist(df, 'from', 'to')

fig = plt.figure()

nx.draw(basic_net, with_labels=True)

plt.show()

使用NetworkX绘制网络图只需要上面简单的几步。

1.导入数据

basic_net=nx.from_pandas_edgelist(df, ‘from’, ‘to’),当然,networkx支持多种格式数据导入,nx.from_pandas_adjacency详情请看https://networkx.github.io/documentation/latest/reference/convert.html

2.绘制图形

nx.draw(basic_net, with_labels=True)

3.显示

plt.show()

2.节点之间连接颜色大小区别

由于不同节点连接重要性不一样,使用大小不同线段或者颜色连接显得异常重要,这里NetworkX也很方便的提供了这个功能,只需要在绘制过程中制定edge_color即可。

################导入所需库

import pandas as pd

import numpy as np

import networkx as nx

import matplotlib.pyplot as plt

df = pd.DataFrame({ 'from':['A', 'B', 'C','A'], 'to':['D', 'A', 'E','C'], 'value':[1, 10, 5, 5]})

################绘制网络图

color_net=nx.from_pandas_edgelist(df, 'from', 'to', create_using=nx.Graph() )

###制定颜色大小

fig = plt.figure()

nx.draw(color_net, with_labels=True, node_color='skyblue', node_size=1500, edge_color=df['value'], width=10.0)

plt.show()

3.网络图背景颜色设置

在NetworkX里面只需要使用set_facecolor即可设置背景颜色

################导入所需库

import pandas as pd

import numpy as np

import networkx as nx

import matplotlib.pyplot as plt

df = pd.DataFrame({ 'from':['A', 'B', 'C','A'], 'to':['D', 'A', 'E','C'], 'value':[1, 10, 5, 5]})

################绘制网络图

color_net=nx.from_pandas_edgelist(df, 'from', 'to', create_using=nx.Graph() )

###制定颜色大小

fig = plt.figure()

nx.draw(color_net, with_labels=True, node_color='skyblue', node_size=1500, edge_color=df['value'], width=10.0)

fig.set_facecolor("#AAAA00")###仅仅在这里添加

plt.show()

总结

本文介绍了NetworkX包绘制网络图的基本使用介绍,当你还在想如何在python里面绘制网络图的时候,使用NetworkX就对了,详细官方文档请参考NetworkX官方文档。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。