View graph data structures in the IPython notebook.
Reason this release was yanked:
python-igraph was renamed to igraph; deleting old packages to avoid confusion
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 library (`igraph.generate`) to do so.
IPython
=======
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. Install through pip:
```
pip install igraph
```
Open a new notebook and 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 and check out the example for more.
======
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 library (`igraph.generate`) to do so.
IPython
=======
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. Install through pip:
```
pip install igraph
```
Open a new notebook and 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 and check out the example for more.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
igraph-0.1.2.tar.gz
(121.6 kB
view hashes)
Built Distribution
igraph-0.1.2-py2.py3-none-any.whl
(122.6 kB
view hashes)
Close
Hashes for igraph-0.1.2-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1a41e9798a3f8abbeb43c95f21ce40fa6fd0e9bbf6ad9e30e209bbdca497ea7c |
|
MD5 | 8cbfa3e0e223ec8667bb9bf62737a975 |
|
BLAKE2b-256 | 72a2ebfd751ac95d108f6d8e4b7c07f2c1bb6358b8ac4955204836d0b84d4ec1 |