前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python3画图系列——Network

Python3画图系列——Network

作者头像
py3study
发布2020-01-20 10:46:21
8610
发布2020-01-20 10:46:21
举报
文章被收录于专栏:python3python3

NetworkX 概述

NetworkX 主要用于创造、操作复杂网络,以及学习复杂网络的结构、动力学及其功能。用于分析网络结构,建立网络模型,设计新的网络算法,绘制网络等等。安装networkx看以参见官网 。

NetworkX学习

关于networkx的学习可以参考如下网站:

  1. python复杂网络库networkx:基础
  2. 网络分析之networkx
  3. python networkx学习

案例学习

学习案例前,请先导入下面的库

代码语言:javascript
复制
import networkx as nx
import matplotlib.pyplot as plt

案例1

代码语言:javascript
复制
G = nx.Graph()
G.add_node(1)
G.add_edge(2, 3)
# G.add_edge(3, 2)
print("输出全部节点:{}".format(G.nodes()))
print("输出全部边:{}".format(G.edges()))
print("输出全部边的数量:{}".format(G.number_of_edges()))
nx.draw(G)
plt.show()
代码语言:javascript
复制
输出全部节点:[1, 2, 3]
输出全部边:[(2, 3)]
输出全部边的数量:1

案例2

代码语言:javascript
复制
G = nx.DiGraph()
G.add_node(1)
G.add_node(2)
G.add_nodes_from([3, 4, 5, 6])
G.add_cycle([1, 2, 3, 4])
G.add_edge(1, 3)
G.add_edges_from([(3, 5), (3, 6), (6, 7)])
print("输出全部节点:{}".format(G.nodes()))
print("输出全部边:{}".format(G.edges()))
print("输出全部边的数量:{}".format(G.number_of_edges()))
nx.draw(G)
plt.show()
代码语言:javascript
复制
输出全部节点:[1, 2, 3, 4, 5, 6, 7]
输出全部边:[(1, 2), (1, 3), (2, 3), (3, 4), (3, 5), (3, 6), (4, 1), (6, 7)]
输出全部边的数量:8

案例3

代码语言:javascript
复制
G = nx.cubical_graph()
plt.subplot(121)
nx.draw(G)
plt.subplot(122)
nx.draw(G, pos=nx.circular_layout(G), nodecolor='r', edge_color='b')
plt.show()

案例4

代码语言:javascript
复制
G = nx.path_graph(8)
nx.draw(G)
plt.show()

案例5

代码语言:javascript
复制
G = nx.cycle_graph(24)
pos = nx.spring_layout(G, iterations=200)
nx.draw(G, pos, node_color=range(24), node_size=800, cmap=plt.cm.Blues)
plt.show()

案例6

代码语言:javascript
复制
G = nx.petersen_graph()
plt.subplot(121)
nx.draw(G, with_labels=True, font_weight='bold')
plt.subplot(122)
nx.draw_shell(G, nlist=[range(5, 10), range(5)], with_labels=True, font_weight='bold')
plt.show()

小节

通过分享一些案例,目的在于供一个思路,同时也为生活中的问题解决提供知识储备。我们不必纠结每一个知识点,当我们想使用的时候,再详细查阅相关知识。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-09 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • NetworkX 概述
  • NetworkX学习
  • 案例学习
    • 案例1
      • 案例2
        • 案例3
          • 案例4
            • 案例5
              • 案例6
              • 小节
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档