In [5]:
import pandas
import graphistry
graphistry.register(key='Email pygraphistry@graphistry.com to get your API key')
In [6]:
# Parse CSV using Pandas
links = pandas.read_csv('./lesmiserables.csv') ### FIX PATH
In [7]:
# Let's have a peak at our data by printing the first three rows
links[:3]
Out[7]:
In [8]:
# Plot graph using the source/target columns as source/destination of edges
plotter = graphistry.bind(source='source', destination='target')
plotter.plot(links)
Out[8]:
In [9]:
# New graph adding the number of encounters to edge labels.
links['label'] = links.value.map(lambda v: 'Num. Encounters: %d' % v)
plotter = plotter.bind(edge_label='label')
plotter.plot(links)
Out[9]:
In [10]:
# Convert our graph from Pandas to Igraph
import igraph
ig = plotter.pandas2igraph(links)
igraph.summary(ig)
In [11]:
# We create two node attributes for pagerank and community
ig.vs['pagerank'] = ig.pagerank()
ig.vs['community'] = ig.community_infomap().membership
igraph.summary(ig)
In [12]:
# The plotter can plot Igraph directly
plotter.bind(point_color='community', point_size='pagerank').plot(ig)
Out[12]:
In [ ]: