时间:2021-05-22
利用networkx,numpy,matplotlib,将邻接矩阵输出为图形。
1,自身确定一个邻接矩阵,然后通过循环的方式添加变,然后输出图像
import networkx as nximport matplotlib.pyplot as pltimport numpy as np G = nx.Graph()Matrix = np.array( [ [0, 1, 1, 1, 1, 1, 0, 0], # a [0, 0, 1, 0, 1, 0, 0, 0], # b [0, 0, 0, 1, 0, 0, 0, 0], # c [0, 0, 0, 0, 1, 0, 0, 0], # d [0, 0, 0, 0, 0, 1, 0, 0], # e [0, 0, 1, 0, 0, 0, 1, 1], # f [0, 0, 0, 0, 0, 1, 0, 1], # g [0, 0, 0, 0, 0, 1, 1, 0] # h ])for i in range(len(Matrix)): for j in range(len(Matrix)): G.add_edge(i, j) nx.draw(G)plt.show()2,有向图
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)])nx.draw(G)# plt.savefig("youxiangtu.png")plt.show()3, 5节点完全图
G = nx.complete_graph(5)nx.draw(G)plt.savefig("8nodes.png")plt.show()4,无向图
G = nx.Graph()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)])nx.draw(G)# plt.savefig("wuxiangtu.png")plt.show()5,颜色节点图
G = nx.Graph()G.add_edges_from([(1, 2), (1, 3), (1, 4), (1, 5), (4, 5), (4, 6), (5, 6)])pos = nx.spring_layout(G) colors = [1, 2, 3, 4, 5, 6]nx.draw_networkx_nodes(G, pos, node_color=colors)nx.draw_networkx_edges(G, pos) plt.axis('off')# plt.savefig("color_nodes.png")plt.show()将图转化为邻接矩阵,再将邻接矩阵转化为图,还有图的集合表示,邻接矩阵表示,图形表示,这三种表现形式互相转化的问题是一个值得学习的地方,继续加油!
以上这篇python将邻接矩阵输出成图的实现就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
存储结构要存储一个图,我们知道图既有结点,又有边,对于有权图来说,每条边上还带有权值。常用的图的存储结构主要有以下二种:邻接矩阵邻接表邻接矩阵我们知道,要表示结
问题如何使用list构造图邻接矩阵的方式Python代码示例#!/usr/bin/envpython#-*-encoding:utf-8-*-#author:L
基于连通图,邻接矩阵实现的图,非递归实现。算法思想:设置两个标志位,①该顶点是否入栈,②与该顶点相邻的顶点是否已经访问。A将始点标志位①置1,将其入栈B查看栈顶
C语言数据结构之图的遍历实例详解输入一组顶点,建立无向图的邻接矩阵。输入一组顶点,建立有向图的邻接表。分别对无向图和有向图进行DFS(深度优先遍历)和BFS(广
本文实例讲述了C++实现图的邻接矩阵存储和广度、深度优先遍历的方法。分享给大家供大家参考。具体如下:示例:建立如图所示的无向图由上图知,该图有5个顶点,分别为a