Skip to content

Latest commit

 

History

History
89 lines (57 loc) · 2.49 KB

README.md

File metadata and controls

89 lines (57 loc) · 2.49 KB

jQuery Spidergraph Plugin - Dynamic, interactive spidergraphs in HTML5

jquery.spidergraph is a simple module that creates nice looking, interactive spidergraphs in HTML5, using the canvas element.

What are spidergraphs good for?

  • illustrating scaled quantitative data for several subjective attributes
  • overlaying multiple data measurements for attribute comparison
  • visualizing the intersection of several data measurements

How do I use it?

First make a div to contain your graph:

<style>
    #spidergraphcontainer {
        width: 600px;
        height: 600px;
    }
</style>
<div id="spidergraphcontainer"></div>

Apply the spidergraph and tell it what the data fields are. The spidergraph and labels will be drawn to fill the specified div.

$('#spidergraphcontainer').spidergraph({
    'fields': ['a','b','c','d','e'],
    'gridcolor': 'rgba(20,20,20,1)'
});

Add static layers to your data set. Opacity can be used to see through multiple layers.

$('#spidergraphcontainer').spidergraph('addlayer', { 
    'strokecolor': 'rgba(230,204,0,0.8)',
    'fillcolor': 'rgba(230,204,0,0.6)',
    'data': [5, 4, 9, 8, 1]
});
$('#spidergraphcontainer').spidergraph('addlayer', { 
    'strokecolor': 'rgba(230,204,230,0.8)',
    'fillcolor': 'rgba(230,204,230,0.6)',
    'data': [5, 4, 9, 8, 1]
});

Add a dynamic layer that allows mouse and iPad touch input to control the graph.

$('#spidergraphcontainer').spidergraph('setactivedata', { 
    'strokecolor': 'rgba(0,204,230,0.8)',
    'fillcolor': 'rgba(0,204,230,0.6)',
    'data': [5, 5, 5, 5, 5]
});

Respond to changes in user input on the active layer.

$('#spidergraphcontainer').bind('spiderdatachange', function( ev, data ) {
    alert( 'first field value is ' + data[0] );
});

Reset all of the data layers in the spidergraph.

$('#spidergraphcontainer').spidergraph('resetdata');

If you wish to use a linear style layer (no curves), simply add attribute 'linear' with value true.

$('#spidergraphcontainer').spidergraph('addlayer', { 
    'strokecolor': 'rgba(230,204,230,0.8)',
    'fillcolor': 'rgba(230,204,230,0.6)',
    'data': [5, 4, 9, 8, 1],
    'linear': true
});

Can I see an example?

Yes you can. Right over here: http://jmstriegel.github.com/jquery.spidergraph/