Archive

Archive for the ‘Data Visualization’ Category

Graph Visualization Tool — Gephi

I would like to visualize a graph. The goal is simple: given a graph file, return me a graphic representation for nodes and edges described in the file. The first tool I try to use is Graphviz. It is released by AT&T Research,  but after a 5 minutes click-and-try, I still cannot get the idea. Note that my goal is simple, so may be Graphviz is powerful in functionality, but it is not easy to get started. Then I switch to Gephi, a so-called “Like Photoshop for Graphs”. In fact I like it.

1. Follow the quick start at http://gephi.org/users/quick-start/ to know the basics.

2. Example 1: draw a simple unlabeled graph.

Start with a simple edge file with postfix “*.CSV” (to find the detailed format description for CSV, click https://gephi.org/users/supported-graph-formats/csv-format/):

2 3
1 0
5 9
9 3

Open this file in Gephi, you can view the graph now. Click “T” in the bottom bar to show all node labels. Select “Force Atlas” in Layout panel to format the graph by adjusting some options:
Repulsion Strength: the distance between nodes with links
Gravity: the distance between disconnected components

Normally you will see a graph like this:

image

Really handy, right?

3. Example 2: draw an edge labeled graph.

CSV cannot describe edge labels. To enable edge description, you need a specific graph format GDF. See the description at https://gephi.org/users/supported-graph-formats/gdf-format/. As an example, we write a GDF file “a.GDF” with plain text content:

nodedef>name VARCHAR,label VARCHAR
s1,Site number 1
s2,Site number 2
s3,Site number 3
edgedef>node1 VARCHAR,node2 VARCHAR, label VARCHAR
s1,s2,1.2341
s2,s3,0.453
s3,s2, 2.34
s3,s1, 0.871

Open this file in Gephi and click both “T”s in the bottom bar to show both node and edge labels. You’ll view the graph now. Really cool!

image

4. Refer to http://gephi.org/users/quick-start/ to learn the advanced functions of Gephi like Ranking, Community Detection, Partition and Filtering.