Before starting the networkx first, we know what is a graph? and why we use graphs?
In mathematics we will learn the graph and their applications like that:
It denoted by edge and vertices:
V = {A, B, C, D, F}
E = {((A,B), (B,C), etc}
Now we can say:
"Graphs are mathematical structures used to study pairwise relationships between objects and entities."
In data Science, it created using a package called "networkx" that makes it easy to draw the graphs.
Graphs in python
We will be using the networkx package in Python.
It can install using the pip command.
Now we will creating simple graph uisng:
Step 1: In first step import networkx libraries
import networkx as nx
Step 2: Creating Graph
G = nx.Graph()
Step 3: Add a node
# Add a node
G.add_node(1)
#Adding Multiple Nodes
G.add_nodes_from([2,3])
Step 4: Adding Edges
# Add edges
G.add_edge(1,2)
Other Useful methods which is used to create graphs
subgraph(G, nbunch) - induced subgraph view of G on nodes in nbunch
union(G1,G2) - graph union
disjoint_union(G1,G2) - graph union assuming all nodes are different
cartesian_product(G1,G2) - return Cartesian product graph
compose(G1,G2) - combine graphs identifying nodes common to both
complement(G) - graph complement
create_empty_copy(G) - return an empty copy of the same graph class
convert_to_undirected(G) - return an undirected representation of G
convert_to_directed(G) - return a directed representation of G
Accessing edges and nodes
Nodes and Edges can be accessed together using the G.nodes() and G.edges()
G.nodes()
Output:
NodeView((1, 2, 3))
G.edges()
Output:
EdgeView([(1, 2), (1, 3), (2, 3)])
Graph Visualization
Networkx provides basic functionality for visualizing graphs. matplotlib offers some convenience functions.
"GraphViz" is probably the best tool for us as it offers a Python interface in the form of "PyGrapgViz"
%matplotlib inline
import matplotlib.pyplot as plt
nx.draw(G)
Now working with graphViz, which is Install from Graphviz from the website:
import pygraphviz as pgv
d={'1': {'2': None}, '2': {'1': None, '3': None}, '3': {'1': None}}
A = pgv.AGraph(data=d)
print(A) # This is the 'string' or simple representation of the Graph
Output:
strict graph "" { 1 -- 2; 2 -- 3; 3 -- 1; }
Need help Using realtime dataset you can contact us at below contact details:
Comments