python-archieve-projects/数据结构//NetworkX.ipynb

1756 lines
210 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

{
"cells": [
{
"cell_type": "markdown",
"id": "a8f093a4",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"## Tutorial\n",
"\n",
"This guide can help you start working with NetworkX.\n",
"\n",
"### Creating a graph\n",
"\n",
"Create an empty graph with no nodes and no edges."
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "9e13f1b2",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.183739Z",
"iopub.status.busy": "2021-07-27T02:23:29.183284Z",
"iopub.status.idle": "2021-07-27T02:23:29.250780Z",
"shell.execute_reply": "2021-07-27T02:23:29.250246Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"import networkx as nx\n",
"G = nx.Graph()"
]
},
{
"cell_type": "markdown",
"id": "71d41728",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"By definition, a `Graph` is a collection of nodes (vertices) along with\n",
"identified pairs of nodes (called edges, links, etc). In NetworkX, nodes can\n",
"be any [hashable](https://docs.python.org/3/glossary.html#term-hashable) object e.g., a text string, an image, an XML object,\n",
"another Graph, a customized node object, etc.\n",
"\n",
"# Nodes\n",
"\n",
"The graph `G` can be grown in several ways. NetworkX includes many graph\n",
"generator functions and facilities to read and write graphs in many formats.\n",
"To get started though well look at simple manipulations. You can add one node\n",
"at a time,"
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "ac3e5021",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.255557Z",
"iopub.status.busy": "2021-07-27T02:23:29.254392Z",
"iopub.status.idle": "2021-07-27T02:23:29.256093Z",
"shell.execute_reply": "2021-07-27T02:23:29.256473Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.add_node(1)"
]
},
{
"cell_type": "markdown",
"id": "ccab6db2",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"or add nodes from any [iterable](https://docs.python.org/3/glossary.html#term-iterable) container, such as a list"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "34d1aec9",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.260860Z",
"iopub.status.busy": "2021-07-27T02:23:29.259745Z",
"iopub.status.idle": "2021-07-27T02:23:29.261400Z",
"shell.execute_reply": "2021-07-27T02:23:29.261785Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.add_nodes_from([2, 3])"
]
},
{
"cell_type": "markdown",
"id": "ebe1aba5",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"You can also add nodes along with node\n",
"attributes if your container yields 2-tuples of the form\n",
"`(node, node_attribute_dict)`:\n",
"\n",
"```\n",
">>> G.add_nodes_from([\n",
"... (4, {\"color\": \"red\"}),\n",
"... (5, {\"color\": \"green\"}),\n",
"... ])\n",
"```\n",
"\n",
"Node attributes are discussed further below.\n",
"\n",
"Nodes from one graph can be incorporated into another:"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "a5cb1a04",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.266563Z",
"iopub.status.busy": "2021-07-27T02:23:29.265504Z",
"iopub.status.idle": "2021-07-27T02:23:29.267095Z",
"shell.execute_reply": "2021-07-27T02:23:29.267470Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"H = nx.path_graph(10)\n",
"G.add_nodes_from(H)"
]
},
{
"cell_type": "markdown",
"id": "ff8ba8a9",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"`G` now contains the nodes of `H` as nodes of `G`.\n",
"In contrast, you could use the graph `H` as a node in `G`."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "9e261854",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.271336Z",
"iopub.status.busy": "2021-07-27T02:23:29.270342Z",
"iopub.status.idle": "2021-07-27T02:23:29.271936Z",
"shell.execute_reply": "2021-07-27T02:23:29.272315Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.add_node(H)"
]
},
{
"cell_type": "markdown",
"id": "603d4143",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"The graph `G` now contains `H` as a node. This flexibility is very powerful as\n",
"it allows graphs of graphs, graphs of files, graphs of functions and much more.\n",
"It is worth thinking about how to structure your application so that the nodes\n",
"are useful entities. Of course you can always use a unique identifier in `G`\n",
"and have a separate dictionary keyed by identifier to the node information if\n",
"you prefer.\n",
"\n",
"# Edges\n",
"\n",
"`G` can also be grown by adding one edge at a time,"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "7bc8c713",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.276392Z",
"iopub.status.busy": "2021-07-27T02:23:29.275438Z",
"iopub.status.idle": "2021-07-27T02:23:29.276936Z",
"shell.execute_reply": "2021-07-27T02:23:29.277316Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.add_edge(1, 2)\n",
"e = (2, 3)\n",
"G.add_edge(*e) # unpack edge tuple*"
]
},
{
"cell_type": "markdown",
"id": "a9906183",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"by adding a list of edges,"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "6bcab65d",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.281269Z",
"iopub.status.busy": "2021-07-27T02:23:29.280243Z",
"iopub.status.idle": "2021-07-27T02:23:29.281876Z",
"shell.execute_reply": "2021-07-27T02:23:29.282254Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.add_edges_from([(1, 2), (1, 3)])"
]
},
{
"cell_type": "markdown",
"id": "6f3a02c7",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"or by adding any ebunch of edges. An *ebunch* is any iterable\n",
"container of edge-tuples. An edge-tuple can be a 2-tuple of nodes or a 3-tuple\n",
"with 2 nodes followed by an edge attribute dictionary, e.g.,\n",
"`(2, 3, {'weight': 3.1415})`. Edge attributes are discussed further\n",
"below."
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "46ba6249",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.286002Z",
"iopub.status.busy": "2021-07-27T02:23:29.284985Z",
"iopub.status.idle": "2021-07-27T02:23:29.286535Z",
"shell.execute_reply": "2021-07-27T02:23:29.286916Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.add_edges_from(H.edges)"
]
},
{
"cell_type": "markdown",
"id": "f267f777",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"There are no complaints when adding existing nodes or edges. For example,\n",
"after removing all nodes and edges,"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "f0a39c70",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.290611Z",
"iopub.status.busy": "2021-07-27T02:23:29.289589Z",
"iopub.status.idle": "2021-07-27T02:23:29.291142Z",
"shell.execute_reply": "2021-07-27T02:23:29.291521Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.clear()"
]
},
{
"cell_type": "markdown",
"id": "6f28aa75",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"we add new nodes/edges and NetworkX quietly ignores any that are\n",
"already present."
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "ae95a7a3",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.295816Z",
"iopub.status.busy": "2021-07-27T02:23:29.295007Z",
"iopub.status.idle": "2021-07-27T02:23:29.296503Z",
"shell.execute_reply": "2021-07-27T02:23:29.296900Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.add_edges_from([(1, 2), (1, 3)])\n",
"G.add_node(1)\n",
"G.add_edge(1, 2)\n",
"G.add_node(\"spam\") # adds node \"spam\"\n",
"G.add_nodes_from(\"spam\") # adds 4 nodes: 's', 'p', 'a', 'm'\n",
"G.add_edge(3, 'm')"
]
},
{
"cell_type": "markdown",
"id": "c0345dfe",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"At this stage the graph `G` consists of 8 nodes and 3 edges, as can be seen by:"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "9565cf0d",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.304948Z",
"iopub.status.busy": "2021-07-27T02:23:29.304457Z",
"iopub.status.idle": "2021-07-27T02:23:29.306668Z",
"shell.execute_reply": "2021-07-27T02:23:29.307045Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"3"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G.number_of_nodes()\n",
"G.number_of_edges()"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "67a2b7b8",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.312282Z",
"iopub.status.busy": "2021-07-27T02:23:29.311257Z",
"iopub.status.idle": "2021-07-27T02:23:29.312817Z",
"shell.execute_reply": "2021-07-27T02:23:29.313197Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"DG = nx.DiGraph()\n",
"DG.add_edge(2, 1) # adds the nodes in order 2, 1\n",
"DG.add_edge(1, 3)\n",
"DG.add_edge(2, 4)\n",
"DG.add_edge(1, 2)\n",
"assert list(DG.successors(2)) == [1, 4]\n",
"assert list(DG.edges) == [(2, 1), (2, 4), (1, 3), (1, 2)]"
]
},
{
"cell_type": "markdown",
"id": "6e8b7eee",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Examining elements of a graph\n",
"\n",
"We can examine the nodes and edges. Four basic graph properties facilitate\n",
"reporting: `G.nodes`, `G.edges`, `G.adj` and `G.degree`. These\n",
"are set-like views of the nodes, edges, neighbors (adjacencies), and degrees\n",
"of nodes in a graph. They offer a continually updated read-only view into\n",
"the graph structure. They are also dict-like in that you can look up node\n",
"and edge data attributes via the views and iterate with data attributes\n",
"using methods `.items()`, `.data('span')`.\n",
"If you want a specific container type instead of a view, you can specify one.\n",
"Here we use lists, though sets, dicts, tuples and other containers may be\n",
"better in other contexts."
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "53d934b9",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.318130Z",
"iopub.status.busy": "2021-07-27T02:23:29.317164Z",
"iopub.status.idle": "2021-07-27T02:23:29.319975Z",
"shell.execute_reply": "2021-07-27T02:23:29.319586Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"2"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"list(G.nodes)\n",
"list(G.edges)\n",
"list(G.adj[1]) # or list(G.neighbors(1))\n",
"G.degree[1] # the number of edges incident to 1"
]
},
{
"cell_type": "markdown",
"id": "b7987a3a",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"One can specify to report the edges and degree from a subset of all nodes\n",
"using an nbunch. An *nbunch* is any of: `None` (meaning all nodes),\n",
"a node, or an iterable container of nodes that is not itself a node in the\n",
"graph."
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "8bd38a8b",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.323969Z",
"iopub.status.busy": "2021-07-27T02:23:29.323510Z",
"iopub.status.idle": "2021-07-27T02:23:29.325660Z",
"shell.execute_reply": "2021-07-27T02:23:29.326022Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"DegreeView({2: 1, 3: 2})"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G.edges([2, 'm'])\n",
"G.degree([2, 3])"
]
},
{
"cell_type": "markdown",
"id": "498b407c",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Removing elements from a graph\n",
"\n",
"One can remove nodes and edges from the graph in a similar fashion to adding.\n",
"Use methods\n",
"`Graph.remove_node()`,\n",
"`Graph.remove_nodes_from()`,\n",
"`Graph.remove_edge()`\n",
"and\n",
"`Graph.remove_edges_from()`, e.g."
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "07a35fc9",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.330094Z",
"iopub.status.busy": "2021-07-27T02:23:29.329112Z",
"iopub.status.idle": "2021-07-27T02:23:29.330692Z",
"shell.execute_reply": "2021-07-27T02:23:29.331060Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.remove_node(2)\n",
"G.remove_nodes_from(\"spam\")\n",
"list(G.nodes)\n",
"G.remove_edge(1, 3)"
]
},
{
"cell_type": "markdown",
"id": "df8261e4",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Using the graph constructors\n",
"\n",
"Graph objects do not have to be built up incrementally - data specifying\n",
"graph structure can be passed directly to the constructors of the various\n",
"graph classes.\n",
"When creating a graph structure by instantiating one of the graph\n",
"classes you can specify data in several formats."
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "948deb8d",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.334932Z",
"iopub.status.busy": "2021-07-27T02:23:29.334485Z",
"iopub.status.idle": "2021-07-27T02:23:29.596717Z",
"shell.execute_reply": "2021-07-27T02:23:29.595829Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.add_edge(1, 2)\n",
"H = nx.DiGraph(G) # create a DiGraph using the connections from G\n",
"list(H.edges())\n",
"edgelist = [(0, 1), (1, 2), (2, 3)]\n",
"H = nx.Graph(edgelist)"
]
},
{
"cell_type": "markdown",
"id": "18e89700",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# What to use as nodes and edges\n",
"\n",
"You might notice that nodes and edges are not specified as NetworkX\n",
"objects. This leaves you free to use meaningful items as nodes and\n",
"edges. The most common choices are numbers or strings, but a node can\n",
"be any hashable object (except `None`), and an edge can be associated\n",
"with any object `x` using `G.add_edge(n1, n2, object=x)`.\n",
"\n",
"As an example, `n1` and `n2` could be protein objects from the RCSB Protein\n",
"Data Bank, and `x` could refer to an XML record of publications detailing\n",
"experimental observations of their interaction.\n",
"\n",
"We have found this power quite useful, but its abuse\n",
"can lead to surprising behavior unless one is familiar with Python.\n",
"If in doubt, consider using `convert_node_labels_to_integers()` to obtain\n",
"a more traditional graph with integer labels.\n",
"\n",
"# Accessing edges and neighbors\n",
"\n",
"In addition to the views `Graph.edges`, and `Graph.adj`,\n",
"access to edges and neighbors is possible using subscript notation."
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "bed4eb39",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.601972Z",
"iopub.status.busy": "2021-07-27T02:23:29.601507Z",
"iopub.status.idle": "2021-07-27T02:23:29.605943Z",
"shell.execute_reply": "2021-07-27T02:23:29.605564Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"{'color': 'yellow'}"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G = nx.Graph([(1, 2, {\"color\": \"yellow\"})])\n",
"G[1] # same as G.adj[1]\n",
"G[1][2]\n",
"G.edges[1, 2]"
]
},
{
"cell_type": "markdown",
"id": "d9278457",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"You can get/set the attributes of an edge using subscript notation\n",
"if the edge already exists."
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "49645943",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.610340Z",
"iopub.status.busy": "2021-07-27T02:23:29.609895Z",
"iopub.status.idle": "2021-07-27T02:23:29.613835Z",
"shell.execute_reply": "2021-07-27T02:23:29.614206Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"{'color': 'red'}"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G.add_edge(1, 3)\n",
"G[1][3]['color'] = \"blue\"\n",
"G.edges[1, 2]['color'] = \"red\"\n",
"G.edges[1, 2]"
]
},
{
"cell_type": "markdown",
"id": "665be316",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Fast examination of all (node, adjacency) pairs is achieved using\n",
"`G.adjacency()`, or `G.adj.items()`.\n",
"Note that for undirected graphs, adjacency iteration sees each edge twice."
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "37a1044e",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.619227Z",
"iopub.status.busy": "2021-07-27T02:23:29.618417Z",
"iopub.status.idle": "2021-07-27T02:23:29.622319Z",
"shell.execute_reply": "2021-07-27T02:23:29.621892Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1, 2, 0.125)\n",
"(2, 1, 0.125)\n",
"(3, 4, 0.375)\n",
"(4, 3, 0.375)\n"
]
}
],
"source": [
"FG = nx.Graph()\n",
"FG.add_weighted_edges_from([(1, 2, 0.125), (1, 3, 0.75), (2, 4, 1.2), (3, 4, 0.375)])\n",
"for n, nbrs in FG.adj.items():\n",
" for nbr, eattr in nbrs.items():\n",
" wt = eattr['weight']\n",
" if wt < 0.5: print(f\"({n}, {nbr}, {wt:.3})\")"
]
},
{
"cell_type": "markdown",
"id": "2ec9af35",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Convenient access to all edges is achieved with the edges property."
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "6e5a6afb",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.626331Z",
"iopub.status.busy": "2021-07-27T02:23:29.625553Z",
"iopub.status.idle": "2021-07-27T02:23:29.629473Z",
"shell.execute_reply": "2021-07-27T02:23:29.629079Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"(1, 2, 0.125)\n",
"(3, 4, 0.375)\n"
]
}
],
"source": [
"for (u, v, wt) in FG.edges.data('weight'):\n",
" if wt < 0.5:\n",
" print(f\"({u}, {v}, {wt:.3})\")"
]
},
{
"cell_type": "markdown",
"id": "8652372f",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Adding attributes to graphs, nodes, and edges\n",
"\n",
"Attributes such as weights, labels, colors, or whatever Python object you like,\n",
"can be attached to graphs, nodes, or edges.\n",
"\n",
"Each graph, node, and edge can hold key/value attribute pairs in an associated\n",
"attribute dictionary (the keys must be hashable). By default these are empty,\n",
"but attributes can be added or changed using `add_edge`, `add_node` or direct\n",
"manipulation of the attribute dictionaries named `G.graph`, `G.nodes`, and\n",
"`G.edges` for a graph `G`.\n",
"\n",
"## Graph attributes\n",
"\n",
"Assign graph attributes when creating a new graph"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "0ac3f5c8",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.633155Z",
"iopub.status.busy": "2021-07-27T02:23:29.632708Z",
"iopub.status.idle": "2021-07-27T02:23:29.635753Z",
"shell.execute_reply": "2021-07-27T02:23:29.635145Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"{'day': 'Friday'}"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G = nx.Graph(day=\"Friday\")\n",
"G.graph"
]
},
{
"cell_type": "markdown",
"id": "589f52ea",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Or you can modify attributes later"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "43c656cd",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.639115Z",
"iopub.status.busy": "2021-07-27T02:23:29.638679Z",
"iopub.status.idle": "2021-07-27T02:23:29.642774Z",
"shell.execute_reply": "2021-07-27T02:23:29.643117Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"{'day': 'Monday'}"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G.graph['day'] = \"Monday\"\n",
"G.graph"
]
},
{
"cell_type": "markdown",
"id": "6390f2c3",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Node attributes\n",
"\n",
"Add node attributes using `add_node()`, `add_nodes_from()`, or `G.nodes`"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "0ee65697",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.647599Z",
"iopub.status.busy": "2021-07-27T02:23:29.647161Z",
"iopub.status.idle": "2021-07-27T02:23:29.651055Z",
"shell.execute_reply": "2021-07-27T02:23:29.651395Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"NodeDataView({1: {'time': '5pm', 'room': 714}, 3: {'time': '2pm'}})"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G.add_node(1, time='5pm')\n",
"G.add_nodes_from([3], time='2pm')\n",
"G.nodes[1]\n",
"G.nodes[1]['room'] = 714\n",
"G.nodes.data()"
]
},
{
"cell_type": "markdown",
"id": "aae8b81e",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Note that adding a node to `G.nodes` does not add it to the graph, use\n",
"`G.add_node()` to add new nodes. Similarly for edges.\n",
"\n",
"# Edge Attributes\n",
"\n",
"Add/change edge attributes using `add_edge()`, `add_edges_from()`,\n",
"or subscript notation."
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "479a0322",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.655754Z",
"iopub.status.busy": "2021-07-27T02:23:29.655313Z",
"iopub.status.idle": "2021-07-27T02:23:29.657874Z",
"shell.execute_reply": "2021-07-27T02:23:29.658217Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"G.add_edge(1, 2, weight=4.7 )\n",
"G.add_edges_from([(3, 4), (4, 5)], color='red')\n",
"G.add_edges_from([(1, 2, {'color': 'blue'}), (2, 3, {'weight': 8})])\n",
"G[1][2]['weight'] = 4.7\n",
"G.edges[3, 4]['weight'] = 4.2"
]
},
{
"cell_type": "markdown",
"id": "50ea6422",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"The special attribute `weight` should be numeric as it is used by\n",
"algorithms requiring weighted edges.\n",
"\n",
" Directed graphs\n",
"\n",
"The `DiGraph` class provides additional methods and properties specific\n",
"to directed edges, e.g.,\n",
"`DiGraph.out_edges`, `DiGraph.in_degree`,\n",
"`DiGraph.predecessors()`, `DiGraph.successors()` etc.\n",
"To allow algorithms to work with both classes easily, the directed versions of\n",
"`neighbors()` is equivalent to `successors()` while `degree` reports\n",
"the sum of `in_degree` and `out_degree` even though that may feel\n",
"inconsistent at times."
]
},
{
"cell_type": "code",
"execution_count": 25,
"id": "8de86e7d",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.663683Z",
"iopub.status.busy": "2021-07-27T02:23:29.663222Z",
"iopub.status.idle": "2021-07-27T02:23:29.665480Z",
"shell.execute_reply": "2021-07-27T02:23:29.665844Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[2]"
]
},
"execution_count": 25,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"DG = nx.DiGraph()\n",
"DG.add_weighted_edges_from([(1, 2, 0.5), (3, 1, 0.75)])\n",
"DG.out_degree(1, weight='weight')\n",
"DG.degree(1, weight='weight')\n",
"list(DG.successors(1))\n",
"list(DG.neighbors(1))"
]
},
{
"cell_type": "markdown",
"id": "0e4ddb9f",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Some algorithms work only for directed graphs and others are not well\n",
"defined for directed graphs. Indeed the tendency to lump directed\n",
"and undirected graphs together is dangerous. If you want to treat\n",
"a directed graph as undirected for some measurement you should probably\n",
"convert it using `Graph.to_undirected()` or with"
]
},
{
"cell_type": "code",
"execution_count": 26,
"id": "29d0c301",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.669816Z",
"iopub.status.busy": "2021-07-27T02:23:29.669014Z",
"iopub.status.idle": "2021-07-27T02:23:29.670488Z",
"shell.execute_reply": "2021-07-27T02:23:29.670853Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"H = nx.Graph(G) # create an undirected graph H from a directed graph G"
]
},
{
"cell_type": "markdown",
"id": "5be96010",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Multigraphs\n",
"\n",
"NetworkX provides classes for graphs which allow multiple edges\n",
"between any pair of nodes. The `MultiGraph` and\n",
"`MultiDiGraph`\n",
"classes allow you to add the same edge twice, possibly with different\n",
"edge data. This can be powerful for some applications, but many\n",
"algorithms are not well defined on such graphs.\n",
"Where results are well defined,\n",
"e.g., `MultiGraph.degree()` we provide the function. Otherwise you\n",
"should convert to a standard graph in a way that makes the measurement\n",
"well defined."
]
},
{
"cell_type": "code",
"execution_count": 27,
"id": "e94bee40",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.677214Z",
"iopub.status.busy": "2021-07-27T02:23:29.676750Z",
"iopub.status.idle": "2021-07-27T02:23:29.679121Z",
"shell.execute_reply": "2021-07-27T02:23:29.679489Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"[1, 2, 3]"
]
},
"execution_count": 27,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"MG = nx.MultiGraph()\n",
"MG.add_weighted_edges_from([(1, 2, 0.5), (1, 2, 0.75), (2, 3, 0.5)])\n",
"dict(MG.degree(weight='weight'))\n",
"GG = nx.Graph()\n",
"for n, nbrs in MG.adjacency():\n",
" for nbr, edict in nbrs.items():\n",
" minvalue = min([d['weight'] for d in edict.values()])\n",
" GG.add_edge(n, nbr, weight = minvalue)\n",
"\n",
"nx.shortest_path(GG, 1, 3)"
]
},
{
"cell_type": "markdown",
"id": "e6dec648",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"# Graph generators and graph operations\n",
"\n",
"In addition to constructing graphs node-by-node or edge-by-edge, they\n",
"can also be generated by\n",
"\n",
"1. Applying classic graph operations, such as:\n",
"\n",
"1. Using a call to one of the classic small graphs, e.g.,\n",
"\n",
"1. Using a (constructive) generator for a classic graph, e.g.,\n",
"\n",
"like so:"
]
},
{
"cell_type": "code",
"execution_count": 28,
"id": "f1f4b2b0",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.684610Z",
"iopub.status.busy": "2021-07-27T02:23:29.683818Z",
"iopub.status.idle": "2021-07-27T02:23:29.685501Z",
"shell.execute_reply": "2021-07-27T02:23:29.685842Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"K_5 = nx.complete_graph(5)\n",
"K_3_5 = nx.complete_bipartite_graph(3, 5)\n",
"barbell = nx.barbell_graph(10, 10)\n",
"lollipop = nx.lollipop_graph(10, 20)"
]
},
{
"cell_type": "markdown",
"id": "0bf30fd6",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"1. Using a stochastic graph generator, e.g,\n",
"\n",
"like so:"
]
},
{
"cell_type": "code",
"execution_count": 29,
"id": "6cd12541",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.705141Z",
"iopub.status.busy": "2021-07-27T02:23:29.698036Z",
"iopub.status.idle": "2021-07-27T02:23:29.707256Z",
"shell.execute_reply": "2021-07-27T02:23:29.706853Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"er = nx.erdos_renyi_graph(100, 0.15)\n",
"ws = nx.watts_strogatz_graph(30, 3, 0.1)\n",
"ba = nx.barabasi_albert_graph(100, 5)\n",
"red = nx.random_lobster(100, 0.9, 0.9)"
]
},
{
"cell_type": "markdown",
"id": "773a43e2",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"1. Reading a graph stored in a file using common graph formats,\n",
" such as edge lists, adjacency lists, GML, GraphML, pickle, LEDA and others."
]
},
{
"cell_type": "code",
"execution_count": 30,
"id": "f87f25db",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:29.710772Z",
"iopub.status.busy": "2021-07-27T02:23:29.710331Z",
"iopub.status.idle": "2021-07-27T02:23:30.280334Z",
"shell.execute_reply": "2021-07-27T02:23:30.279817Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"nx.write_gml(red, \"path.to.file\")\n",
"mygraph = nx.read_gml(\"path.to.file\")"
]
},
{
"cell_type": "markdown",
"id": "b64c3c84",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"For details on graph formats see Reading and writing graphs\n",
"and for graph generator functions see Graph generators\n",
"\n",
"# Analyzing graphs\n",
"\n",
"The structure of `G` can be analyzed using various graph-theoretic\n",
"functions such as:"
]
},
{
"cell_type": "code",
"execution_count": 31,
"id": "b4c09f11",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:30.287060Z",
"iopub.status.busy": "2021-07-27T02:23:30.286400Z",
"iopub.status.idle": "2021-07-27T02:23:30.288687Z",
"shell.execute_reply": "2021-07-27T02:23:30.289078Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"{1: 0, 2: 0, 3: 0, 'spam': 0}"
]
},
"execution_count": 31,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"G = nx.Graph()\n",
"G.add_edges_from([(1, 2), (1, 3)])\n",
"G.add_node(\"spam\") # adds node \"spam\"\n",
"list(nx.connected_components(G))\n",
"sorted(d for n, d in G.degree())\n",
"nx.clustering(G)"
]
},
{
"cell_type": "markdown",
"id": "fc97c720",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"Some functions with large output iterate over (node, value) 2-tuples.\n",
"These are easily stored in a [dict](https://docs.python.org/3/library/stdtypes.html#dict) structure if you desire."
]
},
{
"cell_type": "code",
"execution_count": 32,
"id": "13e42707",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:30.293638Z",
"iopub.status.busy": "2021-07-27T02:23:30.293175Z",
"iopub.status.idle": "2021-07-27T02:23:30.295487Z",
"shell.execute_reply": "2021-07-27T02:23:30.295852Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"text/plain": [
"{3: [3], 1: [3, 1], 2: [3, 1, 2]}"
]
},
"execution_count": 32,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sp = dict(nx.all_pairs_shortest_path(G))\n",
"sp[3]"
]
},
{
"cell_type": "markdown",
"id": "f7b01b07",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"See Algorithms for details on graph algorithms\n",
"supported.\n",
"\n",
"# Drawing graphs\n",
"\n",
"NetworkX is not primarily a graph drawing package but basic drawing with\n",
"Matplotlib as well as an interface to use the open source Graphviz software\n",
"package are included. These are part of the `networkx.drawing` module and will\n",
"be imported if possible.\n",
"\n",
"First import Matplotlibs plot interface (pylab works too)"
]
},
{
"cell_type": "code",
"execution_count": 33,
"id": "a4a174e1",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:30.299201Z",
"iopub.status.busy": "2021-07-27T02:23:30.298757Z",
"iopub.status.idle": "2021-07-27T02:23:30.517307Z",
"shell.execute_reply": "2021-07-27T02:23:30.516813Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt"
]
},
{
"cell_type": "markdown",
"id": "fba9b6f5",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"To test if the import of `networkx.drawing` was successful draw `G` using one of"
]
},
{
"cell_type": "code",
"execution_count": 34,
"id": "db1ed000",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:30.533636Z",
"iopub.status.busy": "2021-07-27T02:23:30.533161Z",
"iopub.status.idle": "2021-07-27T02:23:30.666417Z",
"shell.execute_reply": "2021-07-27T02:23:30.666854Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"G = nx.petersen_graph()\n",
"subax1 = plt.subplot(121)\n",
"nx.draw(G, with_labels=True, font_weight='bold')\n",
"subax2 = plt.subplot(122)\n",
"nx.draw_shell(G, nlist=[range(5, 10), range(5)], with_labels=True, font_weight='bold')"
]
},
{
"cell_type": "markdown",
"id": "23bb9872",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"when drawing to an interactive display. Note that you may need to issue a\n",
"Matplotlib"
]
},
{
"cell_type": "code",
"execution_count": 35,
"id": "04a61842",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:30.671359Z",
"iopub.status.busy": "2021-07-27T02:23:30.670331Z",
"iopub.status.idle": "2021-07-27T02:23:30.671872Z",
"shell.execute_reply": "2021-07-27T02:23:30.672235Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [],
"source": [
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "02180adf",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"command if you are not using matplotlib in interactive mode (see\n",
"[this Matplotlib FAQ](https://matplotlib.org/stable/faq/installing_faq.html))."
]
},
{
"cell_type": "code",
"execution_count": 36,
"id": "537662cd",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:30.695371Z",
"iopub.status.busy": "2021-07-27T02:23:30.689863Z",
"iopub.status.idle": "2021-07-27T02:23:30.858517Z",
"shell.execute_reply": "2021-07-27T02:23:30.858109Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"options = {\n",
" 'node_color': 'black',\n",
" 'node_size': 100,\n",
" 'width': 3,\n",
"}\n",
"subax1 = plt.subplot(221)\n",
"nx.draw_random(G, **options)\n",
"subax2 = plt.subplot(222)\n",
"nx.draw_circular(G, **options)\n",
"subax3 = plt.subplot(223)\n",
"nx.draw_spectral(G, **options)\n",
"subax4 = plt.subplot(224)\n",
"nx.draw_shell(G, nlist=[range(5,10), range(5)], **options)"
]
},
{
"cell_type": "markdown",
"id": "41b713c4",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"You can find additional options via `draw_networkx()` and\n",
"layouts via `layout`.\n",
"You can use multiple shells with `draw_shell()`."
]
},
{
"cell_type": "code",
"execution_count": 37,
"id": "5d2c9f09",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:30.875589Z",
"iopub.status.busy": "2021-07-27T02:23:30.869207Z",
"iopub.status.idle": "2021-07-27T02:23:30.939308Z",
"shell.execute_reply": "2021-07-27T02:23:30.938371Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"G = nx.dodecahedral_graph()\n",
"shells = [[2, 3, 4, 5, 6], [8, 1, 0, 19, 18, 17, 16, 15, 14, 7], [9, 10, 11, 12, 13]]\n",
"nx.draw_shell(G, nlist=shells, **options)"
]
},
{
"cell_type": "markdown",
"id": "69275433",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"To save drawings to a file, use, for example"
]
},
{
"cell_type": "code",
"execution_count": 38,
"id": "199da666",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:30.956771Z",
"iopub.status.busy": "2021-07-27T02:23:30.954342Z",
"iopub.status.idle": "2021-07-27T02:23:31.054274Z",
"shell.execute_reply": "2021-07-27T02:23:31.053845Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"nx.draw(G)\n",
"plt.savefig(\"path.png\")"
]
},
{
"cell_type": "markdown",
"id": "251b67ca",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"writes to the file `path.png` in the local directory. If Graphviz and\n",
"PyGraphviz or pydot, are available on your system, you can also use\n",
"`nx_agraph.graphviz_layout(G)` or `nx_pydot.graphviz_layout(G)` to get the\n",
"node positions, or write the graph in dot format for further processing."
]
},
{
"cell_type": "code",
"execution_count": 39,
"id": "84af5b6d",
"metadata": {
"execution": {
"iopub.execute_input": "2021-07-27T02:23:31.059062Z",
"iopub.status.busy": "2021-07-27T02:23:31.058301Z",
"iopub.status.idle": "2021-07-27T02:23:31.228682Z",
"shell.execute_reply": "2021-07-27T02:23:31.228237Z"
},
"pycharm": {
"name": "#%%\n"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from networkx.drawing.nx_pydot import write_dot\n",
"pos = nx.nx_agraph.graphviz_layout(G)\n",
"nx.draw(G, pos=pos)\n",
"write_dot(G, 'file.dot')"
]
},
{
"cell_type": "markdown",
"id": "3c74a212",
"metadata": {
"pycharm": {
"name": "#%% md\n"
}
},
"source": [
"See Drawing for additional details."
]
}
],
"metadata": {
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.11"
}
},
"nbformat": 4,
"nbformat_minor": 5
}