{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Functions"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import matplotlib.pyplot as plt\n",
    "import networkx as nx\n",
    "import seaborn as sns\n",
    "sns.set()\n",
    "%matplotlib inline"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "import warnings\n",
    "import matplotlib.cbook\n",
    "warnings.filterwarnings(\"ignore\",category=matplotlib.cbook.mplDeprecation)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "scrolled": true
   },
   "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.karate_club_graph()\n",
    "nx.draw(G)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "--------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 1. Graph"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- ```degree(G[, nbunch, weight])``` \tReturns a degree view of single node or of nbunch of nodes.\n",
    "- ```degree_histogram(G)``` \tReturns a list of the frequency of each degree value.\n",
    "- ```density(G)``` \tReturns the density of a graph.\n",
    "- ```info(G[, n])``` \tPrint short summary of information for the graph G or the node n.\n",
    "- ```create_empty_copy(G[, with_data])``` \tReturns a copy of the graph G with all of the edges removed.\n",
    "- ```is_directed(G)``` \tReturn True if graph is directed.\n",
    "- ```to_directed(graph)``` \tReturns a directed view of the graph graph.\n",
    "- ```to_undirected(graph)``` \tReturns an undirected view of the graph graph.\n",
    "- ```is_empty(G)``` \tReturns True if G has no edges.\n",
    "- ```add_star(G_to_add_to, nodes_for_star, **attr)``` \tAdd a star to Graph G_to_add_to.\n",
    "- ```add_path(G_to_add_to, nodes_for_path, **attr)``` \tAdd a path to the Graph G_to_add_to.\n",
    "- ```add_cycle(G_to_add_to, nodes_for_cycle, **attr)``` \tAdd a cycle to the Graph G_to_add_to.\n",
    "- ```subgraph(G, nbunch)``` \tReturns the subgraph induced on nodes in nbunch.\n",
    "- ```induced_subgraph(G, nbunch)``` \tReturns a SubGraph view of G showing only nodes in nbunch.\n",
    "- ```restricted_view(G, nodes, edges) ```\tReturns a view of G with hidden nodes and edges.\n",
    "- ```reverse_view(digraph)``` \tProvide a reverse view of the digraph with edges reversed.\n",
    "- ```edge_subgraph(G, edges)``` \tReturns a view of the subgraph induced by the specified edges."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "DegreeView({0: 16, 1: 9, 2: 10, 3: 6, 4: 3, 5: 4, 6: 4, 7: 4, 8: 5, 9: 2, 10: 3, 11: 1, 12: 2, 13: 5, 14: 2, 15: 2, 16: 2, 17: 2, 18: 2, 19: 3, 20: 2, 21: 2, 22: 2, 23: 5, 24: 3, 25: 3, 26: 2, 27: 4, 28: 3, 29: 4, 30: 4, 31: 6, 32: 12, 33: 17})"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.degree(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[0, 1, 11, 6, 6, 3, 2, 0, 0, 1, 1, 0, 1, 0, 0, 0, 1, 1]"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.degree_histogram(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.13903743315508021"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.density(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "\"Name: Zachary's Karate Club\\nType: Graph\\nNumber of nodes: 34\\nNumber of edges: 78\\nAverage degree:   4.5882\""
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.info(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "DG = nx.to_directed(G)\n",
    "nx.draw(DG)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.is_directed(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.is_directed(DG)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "----------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2. Node Functions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- ```nodes(G)``` \tReturns an iterator over the graph nodes.\n",
    "- ```number_of_nodes(G)``` \tReturns the number of nodes in the graph.\n",
    "- ```neighbors(G, n)``` \tReturns a list of nodes connected to node n.\n",
    "- ```all_neighbors(graph, node)``` \tReturns all of the neighbors of a node in the graph.\n",
    "- ```non_neighbors(graph, node)``` \tReturns the non-neighbors of the node in the graph.\n",
    "- ```common_neighbors(G, u, v)``` \tReturns the common neighbors of two nodes in a graph."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(NodeView((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)),\n",
       " NodeView((0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33)))"
      ]
     },
     "execution_count": 39,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.nodes(G),G.nodes()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(34, 34)"
      ]
     },
     "execution_count": 32,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.number_of_nodes(G), G.number_of_nodes()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "([0, 2, 3, 7, 13, 17, 19, 21, 30], [0, 2, 3, 7, 13, 17, 19, 21, 30])"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[n for n in nx.neighbors(G,1)],[n for n in G.neighbors(1)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 | [1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 17, 19, 21, 31]\n",
      "1 | [0, 2, 3, 7, 13, 17, 19, 21, 30]\n",
      "2 | [0, 1, 3, 7, 8, 9, 13, 27, 28, 32]\n",
      "3 | [0, 1, 2, 7, 12, 13]\n",
      "4 | [0, 6, 10]\n",
      "5 | [0, 6, 10, 16]\n",
      "6 | [0, 4, 5, 16]\n",
      "7 | [0, 1, 2, 3]\n",
      "8 | [0, 2, 30, 32, 33]\n",
      "9 | [2, 33]\n",
      "10 | [0, 4, 5]\n",
      "11 | [0]\n",
      "12 | [0, 3]\n",
      "13 | [0, 1, 2, 3, 33]\n",
      "14 | [32, 33]\n",
      "15 | [32, 33]\n",
      "16 | [5, 6]\n",
      "17 | [0, 1]\n",
      "18 | [32, 33]\n",
      "19 | [0, 1, 33]\n",
      "20 | [32, 33]\n",
      "21 | [0, 1]\n",
      "22 | [32, 33]\n",
      "23 | [25, 27, 29, 32, 33]\n",
      "24 | [25, 27, 31]\n",
      "25 | [23, 24, 31]\n",
      "26 | [29, 33]\n",
      "27 | [2, 23, 24, 33]\n",
      "28 | [2, 31, 33]\n",
      "29 | [23, 26, 32, 33]\n",
      "30 | [1, 8, 32, 33]\n",
      "31 | [0, 24, 25, 28, 32, 33]\n",
      "32 | [2, 8, 14, 15, 18, 20, 22, 23, 29, 30, 31, 33]\n",
      "33 | [8, 9, 13, 14, 15, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 31, 32]\n"
     ]
    }
   ],
   "source": [
    "for node in G.nodes():\n",
    "    print(node,\"|\",[n for n in G.neighbors(node)])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[8, 9, 13, 14, 15, 18, 19, 20, 22, 23, 26, 27, 28, 29, 30, 31, 32]"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[n for n in nx.all_neighbors(G,33)]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "[8, 14, 15, 18, 20, 22, 23, 29, 30, 31]"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "[n for n in nx.common_neighbors(G, 32, 33)]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "-------------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Edge Functions"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- ```edges(G[, nbunch])``` \tReturns an edge view of edges incident to nodes in nbunch.\n",
    "- ```number_of_edges(G)``` \tReturns the number of edges in the graph.\n",
    "- ```density(G)``` \tReturns the density of a graph.\n",
    "- ```non_edges(graph)``` \tReturns the non-existent edges in the graph."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(EdgeView([(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 10), (0, 11), (0, 12), (0, 13), (0, 17), (0, 19), (0, 21), (0, 31), (1, 2), (1, 3), (1, 7), (1, 13), (1, 17), (1, 19), (1, 21), (1, 30), (2, 3), (2, 7), (2, 8), (2, 9), (2, 13), (2, 27), (2, 28), (2, 32), (3, 7), (3, 12), (3, 13), (4, 6), (4, 10), (5, 6), (5, 10), (5, 16), (6, 16), (8, 30), (8, 32), (8, 33), (9, 33), (13, 33), (14, 32), (14, 33), (15, 32), (15, 33), (18, 32), (18, 33), (19, 33), (20, 32), (20, 33), (22, 32), (22, 33), (23, 25), (23, 27), (23, 29), (23, 32), (23, 33), (24, 25), (24, 27), (24, 31), (25, 31), (26, 29), (26, 33), (27, 33), (28, 31), (28, 33), (29, 32), (29, 33), (30, 32), (30, 33), (31, 32), (31, 33), (32, 33)]),\n",
       " EdgeView([(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 10), (0, 11), (0, 12), (0, 13), (0, 17), (0, 19), (0, 21), (0, 31), (1, 2), (1, 3), (1, 7), (1, 13), (1, 17), (1, 19), (1, 21), (1, 30), (2, 3), (2, 7), (2, 8), (2, 9), (2, 13), (2, 27), (2, 28), (2, 32), (3, 7), (3, 12), (3, 13), (4, 6), (4, 10), (5, 6), (5, 10), (5, 16), (6, 16), (8, 30), (8, 32), (8, 33), (9, 33), (13, 33), (14, 32), (14, 33), (15, 32), (15, 33), (18, 32), (18, 33), (19, 33), (20, 32), (20, 33), (22, 32), (22, 33), (23, 25), (23, 27), (23, 29), (23, 32), (23, 33), (24, 25), (24, 27), (24, 31), (25, 31), (26, 29), (26, 33), (27, 33), (28, 31), (28, 33), (29, 32), (29, 33), (30, 32), (30, 33), (31, 32), (31, 33), (32, 33)]))"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.edges(G), G.edges()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "EdgeDataView([(33, 8), (33, 9), (33, 13), (33, 14), (33, 15), (33, 18), (33, 19), (33, 20), (33, 22), (33, 23), (33, 26), (33, 27), (33, 28), (33, 29), (33, 30), (33, 31), (33, 32)])"
      ]
     },
     "execution_count": 53,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.edges(G, 33)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "0 | [(0, 1), (0, 2), (0, 3), (0, 4), (0, 5), (0, 6), (0, 7), (0, 8), (0, 10), (0, 11), (0, 12), (0, 13), (0, 17), (0, 19), (0, 21), (0, 31)]\n",
      "1 | [(1, 0), (1, 2), (1, 3), (1, 7), (1, 13), (1, 17), (1, 19), (1, 21), (1, 30)]\n",
      "2 | [(2, 0), (2, 1), (2, 3), (2, 7), (2, 8), (2, 9), (2, 13), (2, 27), (2, 28), (2, 32)]\n",
      "3 | [(3, 0), (3, 1), (3, 2), (3, 7), (3, 12), (3, 13)]\n",
      "4 | [(4, 0), (4, 6), (4, 10)]\n",
      "5 | [(5, 0), (5, 6), (5, 10), (5, 16)]\n",
      "6 | [(6, 0), (6, 4), (6, 5), (6, 16)]\n",
      "7 | [(7, 0), (7, 1), (7, 2), (7, 3)]\n",
      "8 | [(8, 0), (8, 2), (8, 30), (8, 32), (8, 33)]\n",
      "9 | [(9, 2), (9, 33)]\n",
      "10 | [(10, 0), (10, 4), (10, 5)]\n",
      "11 | [(11, 0)]\n",
      "12 | [(12, 0), (12, 3)]\n",
      "13 | [(13, 0), (13, 1), (13, 2), (13, 3), (13, 33)]\n",
      "14 | [(14, 32), (14, 33)]\n",
      "15 | [(15, 32), (15, 33)]\n",
      "16 | [(16, 5), (16, 6)]\n",
      "17 | [(17, 0), (17, 1)]\n",
      "18 | [(18, 32), (18, 33)]\n",
      "19 | [(19, 0), (19, 1), (19, 33)]\n",
      "20 | [(20, 32), (20, 33)]\n",
      "21 | [(21, 0), (21, 1)]\n",
      "22 | [(22, 32), (22, 33)]\n",
      "23 | [(23, 25), (23, 27), (23, 29), (23, 32), (23, 33)]\n",
      "24 | [(24, 25), (24, 27), (24, 31)]\n",
      "25 | [(25, 23), (25, 24), (25, 31)]\n",
      "26 | [(26, 29), (26, 33)]\n",
      "27 | [(27, 2), (27, 23), (27, 24), (27, 33)]\n",
      "28 | [(28, 2), (28, 31), (28, 33)]\n",
      "29 | [(29, 23), (29, 26), (29, 32), (29, 33)]\n",
      "30 | [(30, 1), (30, 8), (30, 32), (30, 33)]\n",
      "31 | [(31, 0), (31, 24), (31, 25), (31, 28), (31, 32), (31, 33)]\n",
      "32 | [(32, 2), (32, 8), (32, 14), (32, 15), (32, 18), (32, 20), (32, 22), (32, 23), (32, 29), (32, 30), (32, 31), (32, 33)]\n",
      "33 | [(33, 8), (33, 9), (33, 13), (33, 14), (33, 15), (33, 18), (33, 19), (33, 20), (33, 22), (33, 23), (33, 26), (33, 27), (33, 28), (33, 29), (33, 30), (33, 31), (33, 32)]\n"
     ]
    }
   ],
   "source": [
    "for node in G.nodes():\n",
    "    print(node,\"|\",nx.edges(G,node))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(78, 78)"
      ]
     },
     "execution_count": 49,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.number_of_edges(G),G.number_of_edges()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.13903743315508021"
      ]
     },
     "execution_count": 52,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.density(G)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "----------"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Graph Attributes"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "- ```is_weighted(G[, edge, weight])``` \tReturns True if G has weighted edges.\n",
    "- ```is_negatively_weighted(G[, edge, weight])``` \tReturns True if G has negatively weighted edges.\n",
    "- ```set_node_attributes(G, values[, name])``` \tSets node attributes from a given value or dictionary of values.\n",
    "- ```get_node_attributes(G, name)``` \tGet node attributes from graph\n",
    "- ```set_edge_attributes(G, values[, name])``` \tSets edge attributes from a given value or dictionary of values.\n",
    "- ```get_edge_attributes(G, name)``` \tGet edge attributes from graph"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 56,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.is_weighted(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "False"
      ]
     },
     "execution_count": 58,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.is_negatively_weighted(G)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{}"
      ]
     },
     "execution_count": 61,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.get_node_attributes(G, 33)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{}"
      ]
     },
     "execution_count": 62,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "nx.get_edge_attributes(G,33)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "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.7.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}