I found this cool graphing JS library which has a wordpress plugin! It’s called JSXGraph and is rather nifty!. Here is an example graphs showing Facebook users over time.
var brd = JXG.JSXGraph.initBoard('box', {boundingbox: [-50, 900, 3000, -150], keepaspectratio:true, axis:true, grid:0, showNavigation:false}); brd.suspendUpdate(); //Points for graph var p = []; p[0] = brd.create('point', [0,0], {style:6,name:""}); p[1] = brd.create('point', [1665,100], {style:6,name:"100"}); p[2] = brd.create('point', [1890,200], {style:6,name:"200"}); p[3] = brd.create('point', [2050,300], {style:6,name:"300"}); p[4] = brd.create('point', [2193,400], {style:6,name:"400"}); p[5] = brd.create('point', [2359,500], {style:6,name:"500"}); p[6] = brd.create('point', [2527,600], {style:6,name:"600"}); p[7] = brd.create('point', [2672,700], {style:6,name:"700"}); p[8] = brd.create('point', [2787,800], {style:6,name:"800"}); //Line var graph = brd.create('curve', brd.neville(p), {strokeColor:'red', strokeWidth:5, strokeOpacity:0.5}); //Labels xtxt = brd.create('text',[1400,-110, 'Days Online'], {fontSize:12}); ytxt = brd.create('text',[10,850, 'Millions of users'], {fontSize:12}); brd.unsuspendUpdate();
Here’s the code:
<jsxgraph width="600" height="200" box="box">
var brd = JXG.JSXGraph.initBoard('box',
{boundingbox: [-50, 900, 3000, -150],
keepaspectratio:true,
axis:true,
grid:0,
showNavigation:false});
brd.suspendUpdate();
//Points for graph
var p = [];
p[0] = brd.create('point', [0,0], {style:6,name:""});
p[1] = brd.create('point', [1665,100], {style:6,name:"100"});
p[2] = brd.create('point', [1890,200], {style:6,name:"200"});
p[3] = brd.create('point', [2050,300], {style:6,name:"300"});
p[4] = brd.create('point', [2193,400], {style:6,name:"400"});
p[5] = brd.create('point', [2359,500], {style:6,name:"500"});
p[6] = brd.create('point', [2527,600], {style:6,name:"600"});
p[7] = brd.create('point', [2672,700], {style:6,name:"700"});
p[8] = brd.create('point', [2787,800], {style:6,name:"800"});
//Line
var graph = brd.create('curve',
brd.neville(p),
{strokeColor:'red',
strokeWidth:5,
strokeOpacity:0.5});
//Labels
xtxt = brd.create('text',[1400,-110, 'Days Online'], {fontSize:12});
ytxt = brd.create('text',[10,850, 'Millions of users'], {fontSize:12});
brd.unsuspendUpdate();
</jsxgraph>