# Functions overview

## Graph functions

Function | Description |
---|---|

`degree(G, nbunch, weight)` | Returns a degree view of single node or of nbunch of nodes. |

`degree_histogram(G)` | Returns a list of the frequency of each degree value. |

`density(G)` | Returns the density of a graph. |

`create_empty_copy(G, with_data)` | Returns a copy of the graph G with all of the edges removed. |

`is_directed(G)` | Return True if graph is directed. |

`to_directed(graph)` | Returns a directed view of the graph graph. |

`to_undirected(graph)` | Returns an undirected view of the graph graph. |

`is_empty(G)` | Returns True if G has no edges. |

`add_star(G_to_add_to, nodes_for_star, **attr)` | Add a star to Graph G_to_add_to. |

`add_path(G_to_add_to, nodes_for_path, **attr)` | Add a path to the Graph G_to_add_to. |

`add_cycle(G_to_add_to, nodes_for_cycle, **attr)` | Add a cycle to the Graph G_to_add_to. |

`subgraph(G, nbunch)` | Returns the subgraph induced on nodes in nbunch. |

`subgraph_view(G, filter_node, filter_edge)` | View of G applying a filter on nodes and edges. |

`induced_subgraph(G, nbunch)` | Returns a SubGraph view of G showing only nodes in nbunch. |

`restricted_view(G, nodes, edges)` | Returns a view of G with hidden nodes and edges. |

`reverse_view(G)` | View of G with edge directions reversed. |

`edge_subgraph(G, edges)` | Returns a view of the subgraph induced by the specified edges. |

## Node functions

Function | Description |
---|---|

`nodes(G)` | Returns an iterator over the graph nodes. |

`number_of_nodes(G)` | Returns the number of nodes in the graph. |

`neighbors(G, n)` | Returns a list of nodes connected to node n. |

`all_neighbors(graph, node)` | Returns all of the neighbors of a node in the graph. |

`non_neighbors(graph, node)` | Returns the non-neighbors of the node in the graph. |

`common_neighbors(G, u, v)` | Returns the common neighbors of two nodes in a graph. |

## Edge functions

Function | Description |
---|---|

`edges(G, nbunch)` | Returns an edge view of edges incident to nodes in nbunch. |

`number_of_edges(G)` | Returns the number of edges in the graph. |

`density(G)` | Returns the density of a graph. |

`non_edges(G)` | Returns the non-existent edges in the graph. |

## Self loop functions

Function | Description |
---|---|

`selfloop_edges(G, data, keys, default)` | Returns an iterator over selfloop edges. |

`number_of_selfloops(G)` | Returns the number of selfloop edges. |

`nodes_with_selfloops(G)` | Returns an iterator over nodes with self loops. |

## Attribute functions

Function | Description |
---|---|

`is_weighted(G, edge, weight)` | Returns True if G has weighted edges. |

`is_negatively_weighted(G, edge, weight)` | Returns True if G has negatively weighted edges. |

`set_node_attributes(G, values, name)` | Sets node attributes from a given value or dictionary of values. |

`get_node_attributes(G, name)` | Get node attributes from graph. |

`set_edge_attributes(G, values, name)` | Sets edge attributes from a given value or dictionary of values. |

`get_edge_attributes(G, name)` | Get edge attributes from graph. |

## Path functions

Function | Description |
---|---|

`is_path(G, path)` | Returns whether or not the specified path exists. |

`path_weight(G, path, weight)` | Returns total cost associated with specified path and weight. |

## Freezing graph structure functions

Function | Description |
---|---|

`freeze(G)` | Modify graph to prevent further change by adding or removing nodes or edges. |

`is_frozen(G)` | Returns True if graph is frozen. |