22

Since the Harvard Business Review claimed that Data Scientist is The Sexiest Job of the 21st Century, graph analysis and big data are becoming very popular topics at my university.

I'm familiar with graphs algorithms, but we usually program our own task-specific tools. Are there any good applications to visualize and analyze graphs?

11 Answers 11

25

There are actually quite a few applications for visualizing and analyzing graphs:

  • Gephi and Cytoscape are two well-known open source applications that support large and complex graphs.

  • If you're mainly interested in visualizing graphs, have a look at Graphviz, which is an absolute classic.

  • You can also use R or commercial tools like Mathematica if you're more interested in the statistical and analytical aspects (see also this question over on Stats SE).

  • 2
    +1 on Gephi -- it can lead you to amazing realizations. – Roger_S May 10 '13 at 1:02
11

One that just appeared is https://plot.ly. There are many more. Which program is most useful to you depends on a lot of factors. If you are technical proficient, you might like Weka (http://www.cs.waikato.ac.nz/ml/weka/).

  • David, can you recommend services like plot.ly (which is very useful and good-looking), as you mentioned there're many of them? – Anton Tarasenko Dec 21 '13 at 6:46
10

There are also a number of network analysis packages for the open source R language, such as network and sna, and igraph, all of which have some viz capabilities. R can also be a good environment for general data manipulation tasks.

9

d3.js is also a good javascript library manipulating data. Though most commonly used for building visualizations, you can do any sort of data-driven manipulation in the browser.

vega is slightly higher-level visualization grammar built on top of d3.

7

for python i recommend igraph and networkX, for parallel computing graphX.

  • I've only used NetworkX a little bit (getting shortest weighted paths between nodes and generating force-directed layouts), but it's been great for that. Some capabilities require NumPy, which was a bit of a bummer since my application runs on PyPy for performance reasons, but it's still a great package. – myersjustinc May 9 '13 at 21:34
5

There are a few solutions to visualize graphs : D3.js, Sigma.js, KeyLines, Gephi, Linkurious, Neoclipse, Neovigator.

Here is a table that compare some of these options : http://linkurio.us/comparative-study/ And a quick presentation about the different approaches to visualizing graphs : http://www.slideshare.net/Linkurious/graph-visualization-options-and-latest-developments

Linkurious is specifically designed with ease of use in mind. You can use it search, explore and visualize graph data easily.

Disclaimer : I'm a co-founder of Linkurious

  • your comparative study link is now 404 – chicks Sep 20 '15 at 23:17
5

My team builds https://vida.io a tool for creating data visualization templates. We support d3.js templates. You can see a lot of examples on our site:

https://vida.io/explore

For simple chart/visualization, you can use Google visualization tool:

https://vida.io/pages/google-charts

5

If your main focus is to visualize the data and have graph metrics I would recommend this list.

If you want an off the shelf package

  • Gephi - Desktop application, Open Source license
  • Cytoscape - Desktop Application - Open Source license
  • Pajek - Desktop Application, Free for non Commercial use (old but still good - I've seen papers using it just few days ago)

If you have any programming skills

  • KeyLines - Javascript Toolkit, SNA metrics, Commercial license
  • VivaGraphJS - Javascript Toolkit, few SNA metrics, Open Source licence
    • As mentioned in the page linked, the library will close in faviour of ngraph in the future
  • igraph - R/Python Toolkit, more focused on SNA rather than visualization, Open Source license

Others or "Why you didn't mentioned this/that?"

This is a list of more libraries that will let you do only a part of what you're asking or there are strong constraints on the use:

  • NetworkX - Wonderful for SNA, Open Source license
    • it doesn't visualize by itself, so use it in combination with SigmaJS or some other Python library
  • Linkurious - Easy to use, with SNA, Commercial license
    • you need a Neo4J backend in order to use it
  • d3.js - Wonderful to visualize data, but it has not built-in SNA metrics

Disclaimer: I'm in the KeyLines team.

4

Quadrigram (www.quadrigram.com) has good graph visualizations in both 2D and 3D. They are relatively easy to set and publish.

You can also combine them with Maps and other visualizations Checkout this example here.

2

There are a number of packages in the R language very useful to data analysis/visualization. Hadley Wickham has developed lot of interesting tools to make these task easier. The recent bigvis package is very promising.

0

Check out Tableau / Tableau Public. It was used to build this : http://public.tableausoftware.com/shared/QZPQ8DCR9?:display_count=no

It has a loot of tools for building a visualization that lets you explore / drill into the data. It can let you build a sort of interactive experience that brings a lot more meaning to your graphs and charts.

The public version is free, student / non-profit pricing is fairly reasonable if I recall.

  • 1
    Tableau is very good for many things, but not graphs. – philshem Mar 25 '15 at 15:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.