Skip to main content
Warning: You are using the test version of PyPI. This is a pre-production deployment of Warehouse. Changes made here affect the production instance of TestPyPI (testpypi.python.org).
Help us improve Python packaging - Donate today!

View graph data structures in the IPython notebook.

Project Description
igraph
======

An embeddable webGL graph visualization library.
http://patrickfuller.github.io/igraph/

Examples
========

* [les misérables](http://patrickfuller.github.io/igraph/examples/miserables.html)
* [github connections](http://patrickfuller.github.io/igraph/examples/github.html)
* [IPython notebook](http://patrickfuller.github.io/igraph/examples/ipython.html)

Usage
=====

```javascript
igraph.create('my-selector');
igraph.draw(myGraph);
```

where `'my-selector'` is where you want to place igraph, and `myGraph` is a plain ol' object. See below for more on the object structure, or just check out the included example. The `igraph.create()` method takes a few optional parameters, specifying the sizes and colors of nodes, as well as force-directed optimization.

```javascript
options = {
directed: true, // Toggles edge arrows
nodeSize: 2.0, // Default node size
edgeSize: 0.25, // Edge connection diameter
arrowSize: 1.0, // If drawn, edge arrow size
defaultNodeColor: 0xaaaaaa, // Color for nodes without a "color" property
defaultEdgeColor: 0x777777, // Color for edges without a "color" property
shader: "toon", // three.js shader to use, can be "toon", "basic", "phong", or "lambert"
runOptimization: true // Runs a force-directed-layout algorithm on the graph
};
```

Graph Data Format
=================

The viewers take input graph data structures as javascript objects. Here's the most boring graph in the world:

```javascript
{
nodes: {
jane: { },
bob: { },
mike: { },
sally: { }
},
edges: [
{ source: "jane", target: "bob" },
{ source: "bob", target: "mike" },
{ source: "mike", target: "sally" }
]
}
```

Nodes require no information outside of their keys. However, there are useful optional parameters that can be specified.

```javascript
{
color: 0xffffff, // Color for this node
size: 1.0, // Scaling factor for this node's size
location: [0.0, 0.0, 0.0] // Starting location of node. Useful for pre-rendering.
}
```

By default, the algorithm runs a force-directed layout on the graph. When enabled, the "location" field is optional. However, for larger graphs, you will want to disable this feature and pre-render the locations. Use the associated Python script to do so.

IPython support
===============

The IPython notebook is an open-source tool poised to replace MATLAB in many
applications. As a scientist of sorts, I'm all about it. Therefore, I made
handles to use igraph with the notebook.

Open a new notebook and make sure that the igraph directory is either in the directory you started the notebook or your PYTHONPATH. You can test the setup by typing:

```python
import igraph
igraph.draw([(1, 2), (2, 3), (3, 4), (4, 1), (4, 5), (5, 2)])
```

into a notebook cell. You should get a paddlewheel graph as an output. You can use this in conjunction with other code for educational purposes (try generating a red-black tree!). There are three commands and some optional parameters to check out. Read the docstrings for more.
Release History

Release History

This version
History Node

0.1.0

Download Files

Download Files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
igraph-0.1.0-py2.py3-none-any.whl (122.6 kB) Copy SHA256 Checksum SHA256 3.4 Wheel Oct 30, 2014
igraph-0.1.0.tar.gz (121.6 kB) Copy SHA256 Checksum SHA256 Source Oct 30, 2014

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting