Gephi – curated list of tutorials

gephi-logo-2010-text-orignal

1. General introductions to Gephi

Gephi Quick start by the Gephi Consortium
A slideshare presentation created by the Gephi team.

Introduction to network visualization with Gephi by Martin GrandJean
All the basics explained in one single web page with clear graphics.

Gephi: A tutorial for beginners
A pdf document,  a bit dense but complete by yours truly.

Gephi: A video tutorial by Stratidev (in French)
A Youtube video in 15 minutes.

Intro to Gephi Handout by Katya Ognyanova
4-page pdf with many screenshots introducing Gephi main functions, very readable.

Gephi Tutorial by Devin Gaffney
A simple web page with illustrations, with a Github repo for more advanced steps and examples of files to play around.

2. Tutorials focused on social media networks

Facebook Network Analysis using Gephi by Sarah Joy Murray.
How to visualize the network of your Facebook friends.

Step-by-step introduction tutorial to Gephi using Facebook network by  learly explained with many screenshots.

Getting Started With The Gephi Network Visualisation App – My Facebook Network part 1 and part 2 by Tony Hirst
A tutorial which has a lot of success.

Visualising Twitter Friend Connections Using Gephi by Tony Hirst
Very detailed, full of tips blog post on how to effectively create a viz of a Twitter network.

3. Gephi: tutorials on advanced functions

Gephi: A tutorial to visualize dynamic networks by myself.
A pdf doc on how to visualize networks that evolve in time with Gephi.

Visualisez dynamiquement le crawl du Googlebot avec Gephi by Aurelien Berrut
[in French]. An excellent blog post with screenshots on how to create dynamic networks from log data.

Getting started with Gephi by History Blogger
This is a small introductory tutorial, but it provides a step-by-step explanation on how to use the plugin SigmaJS to export a visualization to the web. Nice!

Video tutorials on filters and more, by Jennifer Golbeck
Very clearly explained v
ideos accompanying a book on “Analyzing the social web“.

Tutoriel sur les fonctionnalités avancées de Gephi : usage des filtres pour obtenir des cartographies plus lisibles, by  Guillaume Sylvestre
[in French]. Very detailed tutorial focusing on filters.

__________________________________________________________________

[add your tutorial there! Contact me at info[[[this is an arobase]]]exploreyourdata.com or post a comment below]

I am Clement Levallois, and you can find me on Twitter (@seinecle) or check my work on http://clementlevallois.net

Advertisements

Benchmark Akka vs regular Java

I think I found *the* solution for dealing with big data / big computations in Java. That’s called Akka, and I learned about it thanks to a tip from Miguel Biraud.

I had tried several solutions to speed up things but they did not work well:

– multithreading? Yes, but there is a hard limit at the number of threads available on your computer.

– GPGPU computing? Very hard to code, and I was disappointed by the performance of Java libraries supposed to ease the pain, like Ateji.

So, Akka!

That’s a framework for Scala and Java, still evolving very much. It uses the logic of actors to distribute work. Actors can create actors, which promises a nice multiplier effect. Actors can be created by millions!

Anyway, I created a small benchmark to make sure it was easy to code, and that it delivered some speed up even with a quick and dirty test. The results:

TEST 1

double loop through an array of 1,000 integers
operation: product of elements of arrays

nb of actors / operations Akka (in milliseconds) Regular java (in milliseconds)
10 150 150
100 1,200 5,600
1000 11,000 56,0000

conclusion test 1: Akka is faster by a factor of 5.

TEST 2

double loop through an array of 10,000 integers
operation: do some complex regex ops on a random String for each of the 10,000 steps

nb of actors / operations Akka (in milliseconds) Regular java (in milliseconds)
10 348 874
100 2,231 7,600
1000 20,000 75,000

conclusion test 2: Akka is faster by a factor of 3 to 4.

The setup was painless. The code was written by adapting the Hello World example provided on the site. The documentation is not that easy to follow, and as the versions of Akka are evolving quickly it makes it harder to rely on tutorials or StackOverflow Q&A even a few months old. But the logic of operations (actors receiving and sending messages) is quite straightforward.

Note that I did not use the “demultiplier effect” of Akka (Actors launching actors), which could have improved the result. Finally, this was performed on a laptop, whereas the real promise of Akka is on distributed environments (several servers working together). I don’t have a case of use yet for that, but this benchmark suggests that Akka will be very handy for these cases.

The code of the benchmark, and the results in an Excel file:

https://github.com/seinecle/AkkaTest/blob/master/README.md

I am Clement Levallois, and you can find examples of my work here or follow me on Twitter

Gephi – the possibilities of a data visualization platform

Gephi is a reference for the visualization of networks. It can become much more.

1. The first usage of Gephi is probably to, well, download it, install it and work with it. Simple, that’s how we know Gephi:

gephi_post_6

 

2. On the Gephi website, we see that a second use is possible: download the “Toolkit” version of Gephi.

gephi_post_1

This toolkit version of Gephi is made for programmers: there is no “window” appearing or anything, just pure code to execute Gephi functions automatically and repeatedly. For example:

– import a network

– apply a layout

– export the picture of the network to pdf.

– pick another network.

– repeat  previous steps x 1000

As the activity of the Gephi forum shows, there are many users who take Gephi this way.

 

3. Gephi also comes in a third flavor: Gephi plugins.

Plugins are basically little modifications that add  missing functions to Gephi. As a user of Gephi you probably ran in a situation when you wished this or that stuff could be done in Gephi. To name some:

– add a map as a background

– replace nodes by pictures, or any shape

– import twitter networks into Gephi

– run you prefered networks metrics, not present in the statistics panel.

Etc…

Gephi plugins can be written to do all that, adding all the functionalities that you need and which are not originally present in Gephi. Actually, many plugins have been written by individuals and firms to meet their needs, and they shared these plugins publicly. Anybody can  install these plugins directly from Gephi:

gephi_post_2

(open this window in Gephi by navigating in the menu: Tools -> Plugins)

When a plugin you chose is installed in Gephi, they are integrated perfectly so that you see no difference with the original functions of Gephi:

gephi_post_8These plugins are also described and cataloged in a convenient way here: https://marketplace.gephi.org/plugins/. I personally developed 2 public plugins: one to sort isolated nodes alphabetically, another to apply a 3D layout. Certainly, many plugins have been written by firms for their inhouse needs.

 

4. Now, I really believe that Gephi is ready to develop into a 4th flavor: Gephi as a data visualization platform. How?

Gephi can be extended with plugins, we’ve seen that. The thing is, Gephi is itself made of plugins – that’s not a monolithic piece of written code. Each part of Gephi has the flexibility to be modified and extended. So that by creating new, elaborated plugins you are not just adding some minor features to Gephi – you actually transform Gephi into something quite new. Two examples:

– displaying some barcharts in Gephi? Easy:

gephi_post_5

The barcharts above are made possible simply by adding a new plugin to Gephi (tech note: based on JavaFX. Example above was integrated in Gephi in 15 minutes following this tutorial).

But that’s just the beginning. I suppose that just like many others, I often face the Cornelian dilemma: web-based or desktop-based viz? You can actually include webpages into Gephi:

gephi_post_3

That’s the New York Times front page here, but let’s think of javascript based data visualizations – a d3.js viz why not:

gephi_post_4

There are some limits in terms of performance for web-based viz inside Gephi, but the screenshot above shows a perfectly functional and interactive d3js example inside Gephi. Think that it is possible to generate and load these viz from local js files based on local data…

 

In short, Gephi can be seen as a free, open-source, well-architectured data visualization platform – not just a network viz app. With the liberal license model chosen for Gephi (free for integration in commercial apps), this is surely a very effective solution to be explored by companies and data-vizzers in general.