# Quickstart: Graphing Les Misérables¶

This simple example from our quickstart walkthrough introduces the basics of PyGraphistry. We also have more advanced tutorials avaiable.

In [1]:
import pandas
import graphistry

graphistry.register(key='Email [email protected] to get your API key')

In [2]:
# Parse CSV using Pandas

In [3]:
# Let's have a peak at our data by printing the first three rows

Out[3]:
source target value
0 Napoleon Myriel 1
1 Mlle.Baptistine Myriel 8
2 Mme.Magloire Myriel 10
In [4]:
# Plot graph using the source/target columns as source/destination of edges
plotter = graphistry.bind(source='source', destination='target')

Out[4]:
In [5]:
# New graph adding the number of encounters to edge labels.
plotter = plotter.bind(edge_label='label')

Out[5]:

### Controling Node Size and Color¶

We are going to use Igraph to color nodes by community and size them using pagerank. To install igraph, use pip install python-igraph

In [6]:
# Convert our graph from Pandas to Igraph
import igraph
igraph.summary(ig)

IGRAPH D--- 77 254 --
+ attr: __nodeid__ (v), label (e), value (e)

WARNING: "node" is unbound, automatically binding it to "__nodeid__".

In [7]:
# We create two node attributes for pagerank and community
ig.vs['pagerank'] = ig.pagerank()
ig.vs['community'] = ig.community_infomap().membership
igraph.summary(ig)

IGRAPH D--- 77 254 --
+ attr: __nodeid__ (v), community (v), pagerank (v), label (e), value (e)

In [8]:
# The plotter can plot Igraph directly
plotter.bind(point_color='community', point_size='pagerank').plot(ig)

Out[8]: