⑴ Graph | NetworkX 入门教程
NetworkX 是一个用于 python 的图形库,旨在帮助用户创建、分析和可视化图形。以下为使用 NetworkX 的入门教程。
首先,确保已安装最新稳定版的 NetworkX,支持 Python 3.8, 3.9 或 3.10。
创建一个无边无节点的空图。
图形由节点(顶点)及其识别的节点对(边)组成。节点可以是任何可哈希的对象,如文本字符串、图像、XML 对象、另一个图、自定义节点对象等,但 Python 中的 None 不能作为节点。
添加节点,开始构建图形。
可以通过逐个添加节点,或者从可迭代容器(如列表)中添加多个节点。同时可以添加包含节点属性的节点,如果容器以(node, node_attribute_dict) 的形式。
合并节点到现有图中,或者将整个图作为节点添加到另一个图中。图形的灵活性非常高,允许构建如应用程序实体的节点,或使用唯一标识符和单独字典存储节点信息。
注意,哈希取决于其内容的节点对象不应被修改。
添加边扩展图形,可以通过列表或添加任意边的 ebunch。边的 ebunch 可以是边的元组的可迭代容器,如 (2, 3, {'weight':3.1415})。
添加节点和边时,NetworkX 会忽略任何已存在的元素,避免冲突。新添加后,图包含 8 个节点和 3 条边。
报告邻接顺序是边添加的顺序,但 G.edges 的顺序包括节点的顺序和每个节点的邻接。
检查图元素,使用 G.nodes、G.edges、G.adj 和 G.degree 获取节点、边、邻居和节点度数。
删除元素时,可以使用 Graph.remove_node()、Graph.remove_nodes_from()、Graph.remove_edge() 和 Graph.remove_edges_from() 等方法。
利用图构造函数创建图形结构,直接传递数据,支持多种格式的数据。
节点和边不需要 NetworkX 对象,可以使用任何有意义的对象。常见的选择是数字或字符串,节点可以是任何可散列的对象(除了 None),边可以与任何对象关联。
使用下标表示法访问边和邻居,除了使用 Graph.edges 和 Graph.adj 之外,还可以访问边和邻居。
向图、节点和边添加属性,如权重、标签、颜色或其他 Python 对象,这些属性可以保存在关联的属性字典中。
创建新图形时分配图形属性,稍后可修改。可以使用 G.graph、G.nodes 和 G.edges 的属性字典添加或更改属性。
指定图形属性,如 G.graph、G.nodes 和 G.edges。
添加节点属性使用 add_node()、add_nodes_from() 或 G.nodes,确保使用 G.add_node() 添加新节点。
添加边属性使用 add_edge()、add_edges_from() 或下标表示法。
特殊属性权重应该是数字,用于加权边的算法。
处理有向图,使用 DiGraph 类提供特定于有向边的方法和属性,如 DiGraph.out_edges、DiGraph.in_degree 等。
将有向图视为无向图,使用 Graph.to_undirected() 或其他转换。
多图允许任意一对节点之间存在多条边,使用 MultiGraph 和 MultiDiGraph 类。
生成图形,通过经典图操作、经典小图调用、构造生成器、随机图生成器或读取存储在文件中的图形。
分析图形结构,使用各种图论函数。
绘制图形,使用 NetworkX 与 Matplotlib 或 Graphviz 进行基本绘图。导入 Matplotlib 并使用 draw_networkx() 调整布局。
将图形保存为文件,使用相应的函数写入本地目录。
总之,NetworkX 提供了一个强大的框架来创建、分析和可视化图形,适用于各种应用场景。
⑵ python下的networkx怎么安装
一、 Networkx简介 课题研究与复杂网络有关,而是用Python又非常方便,networkx便是做复杂网络研究的“利器”,那就从安装它开始吧! Networkx是一个用Python语言开发的图论与复杂网络建模工具,这个工具可以用python实现有关复杂网络的创建、处理、组织研究、动力学、函数的软件包,使用它可以方便的建立网络模型。Networkx内置了常用的图与复杂网络的算法,可以方便的进行复杂网络数据分析、仿真建模等,可以实现可视化。 二、 安装步骤 1. 安装Python2.7,点击安装,然后一直next就行了 2. 安装pywin32-214.win32-py2.7.exe 3. 安装numpy-1.6.1-win32-superpack-python2.7.exe 4. 安装matplotlib-1.1.0.win32-py2.7.exe 5. 安装setuptools-0.6c11.win32-py2.7.exe 6. 安装networkx-1.8.1-py2.7.egg,将这个文件夹放到Python27文件夹下的Scripts文件 夹下。这个稍微麻烦一些,需要用easyinstall安装,具体安装方法如下: (1) 启动DOS控制台(在“运行”里输入cmd) (2) 输入“CD\”进入到C盘(我是将Python2.7安装到了C盘),如图所示:
如果Python是安装到了其他盘,可以直接输入“D:”或者“F:”进入其他盘,如图所示: (3) 进入到Python27文件夹下的Scripts文件夹下,执行easy_install.exe networkx-1.8.1-py2.7.egg就可以啦,如图所示 成功安装! (4) 启动“程序---Python2.7---PythonWin”,输入 import networkx as nx print nx 如果有如图所示,说明可以正常使用: 三、用Networkx画出网络图实例