Quite good looking graph derived from d3.js http://c3js.org
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

3 lines
78 KiB

10 years ago
!function(a){"use strict";function b(a){return a||0===a}function c(a){return"undefined"==typeof a}function d(a){return"undefined"!=typeof a}function e(a,b){function c(a,b){a.attr("transform",function(a){return"translate("+Math.ceil(b(a)+s)+", 0)"})}function d(a,b){a.attr("transform",function(a){return"translate(0,"+Math.ceil(b(a))+")"})}function e(a){var b=a[0],c=a[a.length-1];return c>b?[b,c]:[c,b]}function f(a){var b,c,d=[];if(a.ticks)return a.ticks.apply(a,k);for(c=a.domain(),b=Math.ceil(c[0]);b<c[1];b++)d.push(b);return d.length>0&&d[0]>0&&d.unshift(d[0]-(d[1]-d[0])),d}function g(){var a,c=m.copy();return b&&(a=m.domain(),c.domain([a[0],a[1]-1])),c}function h(a){return j?j(a):a}function i(i){i.each(function(){function i(a){var b=m(a)+s;return B[0]<b&&b<B[1]?o:0}var j,k,t=a.select(this),u=this.__chart__||m,v=this.__chart__=g(),w=r?r:f(v),x=t.selectAll(".tick").data(w,v),y=x.enter().insert("g",".domain").attr("class","tick").style("opacity",1e-6),z=a.transition(x.exit()).style("opacity",1e-6).remove(),A=a.transition(x).style("opacity",1),B=m.rangeExtent?m.rangeExtent():e(m.range()),C=t.selectAll(".domain").data([0]),D=(C.enter().append("path").attr("class","domain"),a.transition(C));y.append("line"),y.append("text");var E=y.select("line"),F=A.select("line"),G=x.select("text").text(h),H=y.select("text"),I=A.select("text");switch(b?(s=Math.ceil((v(1)-v(0))/2),k=l?0:s):s=k=0,n){case"bottom":j=c,E.attr("y2",o),H.attr("y",Math.max(o,0)+q),F.attr("x1",k).attr("x2",k).attr("y2",i),I.attr("x",0).attr("y",Math.max(o,0)+q),G.attr("dy",".71em").style("text-anchor","middle"),D.attr("d","M"+B[0]+","+p+"V0H"+B[1]+"V"+p);break;case"top":j=c,E.attr("y2",-o),H.attr("y",-(Math.max(o,0)+q)),F.attr("x2",0).attr("y2",-o),I.attr("x",0).attr("y",-(Math.max(o,0)+q)),G.attr("dy","0em").style("text-anchor","middle"),D.attr("d","M"+B[0]+","+-p+"V0H"+B[1]+"V"+-p);break;case"left":j=d,E.attr("x2",-o),H.attr("x",-(Math.max(o,0)+q)),F.attr("x2",-o).attr("y2",0),I.attr("x",-(Math.max(o,0)+q)).attr("y",s),G.attr("dy",".32em").style("text-anchor","end"),D.attr("d","M"+-p+","+B[0]+"H0V"+B[1]+"H"+-p);break;case"right":j=d,E.attr("x2",o),H.attr("x",Math.max(o,0)+q),F.attr("x2",o).attr("y2",0),I.attr("x",Math.max(o,0)+q).attr("y",0),G.attr("dy",".32em").style("text-anchor","start"),D.attr("d","M"+p+","+B[0]+"H0V"+B[1]+"H"+p)}if(v.rangeBand){var J=v,K=J.rangeBand()/2;u=v=function(a){return J(a)+K}}else u.rangeBand?u=v:z.call(j,v);y.call(j,u),A.call(j,v)})}var j,k,l,m=a.scale.linear(),n="bottom",o=6,p=6,q=3,r=null,s=0,t=!0;return i.scale=function(a){return arguments.length?(m=a,i):m},i.orient=function(a){return arguments.length?(n=a in{top:1,right:1,bottom:1,left:1}?a+"":"bottom",i):n},i.tickFormat=function(a){return arguments.length?(j=a,i):j},i.tickCentered=function(a){return arguments.length?(l=a,i):l},i.tickOffset=function(){return s},i.ticks=function(){return arguments.length?(k=arguments,i):k},i.tickCulling=function(a){return arguments.length?(t=a,i):t},i.tickValues=function(a){return arguments.length?(r=a,i):r},i}var f={version:"0.1.42"},g={target:"c3-target",chart:"c3-chart",chartLine:"c3-chart-line",chartLines:"c3-chart-lines",chartBar:"c3-chart-bar",chartBars:"c3-chart-bars",chartText:"c3-chart-text",chartTexts:"c3-chart-texts",chartArc:"c3-chart-arc",chartArcs:"c3-chart-arcs",chartArcsTitle:"c3-chart-arcs-title",chartArcsBackground:"c3-chart-arcs-background",chartArcsGaugeUnit:"c3-chart-arcs-gauge-unit",chartArcsGaugeMax:"c3-chart-arcs-gauge-max",chartArcsGaugeMin:"c3-chart-arcs-gauge-min",selectedCircle:"c3-selected-circle",selectedCircles:"c3-selected-circles",eventRect:"c3-event-rect",eventRects:"c3-event-rects",eventRectsSingle:"c3-event-rects-single",eventRectsMultiple:"c3-event-rects-multiple",zoomRect:"c3-zoom-rect",brush:"c3-brush",focused:"c3-focused",region:"c3-region",regions:"c3-regions",tooltip:"c3-tooltip",tooltipName:"c3-tooltip-name",shape:"c3-shape",shapes:"c3-shapes",line:"c3-line",lines:"c3-lines",bar:"c3-bar",bars:"c3-bars",circle:"c3-circle",circles:"c3-circles",arc:"c3-arc",arcs:"c3-arcs",area:"c3-area",areas:"c3-areas",text
}).attr("cx",Rh?ke:je).attr("cy",Rh?je:ke).attr("stroke",function(){return Jj(b)}).attr("r",1.4*kf(b)).transition().duration(100).attr("r",kf)}function _e(a,b,c){Eh(b,a.node()),fk.select("."+g.selectedCircles+yd(b.id)).selectAll("."+g.selectedCircle+"-"+c).transition().duration(100).attr("r",0).remove()}function af(a,b,c,d){a?$e(b,c,d):_e(b,c,d)}function bf(a,b){Dh(b,a.node()),a.transition().duration(100).style("fill",function(){return eg.rgb(Jj(b)).brighter(.75)})}function cf(a,b){Eh(b,a.node()),a.transition().duration(100).style("fill",function(){return Jj(b)})}function df(a,b,c,d){a?bf(b,c,d):cf(b,c,d)}function ef(a,b,c,d){df(a,b,c.data,d)}function ff(a){return"circle"===a.nodeName?af:eg.select(a).classed(g.bar)?df:ef}function gf(a){return a.filter(function(a){return b(a.value)})}function hf(a){return Gi&&!ve(a)?"function"==typeof Hi?Hi(a):Hi:0}function jf(a){return Ji?Ki?Ki:1.75*hf(a):hf(a)}function kf(a){return Li?Li:4*hf(a)}function lf(a,c){return(c?fk.selectAll("."+g.circles+yd(c)):fk).selectAll("."+g.circle+(b(a)?"-"+a:""))}function mf(a,b){lf(a,b).classed(g.EXPANDED,!0).attr("r",jf)}function nf(a){lf(a).filter(function(){return eg.select(this).classed(g.EXPANDED)}).classed(g.EXPANDED,!1).attr("r",hf)}function of(a){return fk.selectAll("."+g.bar+(b(a)?"-"+a:""))}function pf(a){of(a).classed(g.EXPANDED,!0)}function qf(a){of(a).classed(g.EXPANDED,!1)}function rf(a,b){var c=eg.svg.area(),d=xf(a,b),e=b?ab:_,f=function(a,b){return lh.length>0?d(a,b)[0][1]:e(a.id)(0)},g=function(a,b){return lh.length>0?d(a,b)[1][1]:e(a.id)(a.value)};return c=Rh?c.x0(f).x1(g).y(Pd):c.x(Pd).y0(f).y1(g),function(a){var b,d,e=gf(a.values);return xe(a)?c.interpolate(Ze(a))(e):(b=Xg(e[0].x),d=_(a.id)(e[0].value),Rh?"M "+d+" "+b:"M "+b+" "+d)}}function sf(a,b){var c=eg.svg.line(),d=zf(a,b),e=b?ab:_,f=b?Sd:Pd,g=function(a,b){return lh.length>0?d(a,b)[0][1]:e(a.id)(a.value)};return c=Rh?c.x(g).y(f):c.x(f).y(g),Mi||(c=c.defined(function(a){return null!=a.value})),function(a){var d=Mi?gf(a.values):a.values,f=b?f:$g,g=e(a.id),h=0,i=0;return ue(a)?rh[a.id]?Af(d,f,g,rh[a.id]):c.interpolate(Ze(a))(d):(d[0]&&(h=f(d[0].x),i=g(d[0].value)),Rh?"M "+i+" "+h:"M "+h+" "+i)}}function tf(a,b){var c=yf(a,b);return function(a,b){var d=c(a,b),e=Rh?1:0,f=Rh?0:1,g="M "+d[0][e]+","+d[0][f]+" L"+d[1][e]+","+d[1][f]+" L"+d[2][e]+","+d[2][f]+" L"+d[3][e]+","+d[3][f]+" z";return g}}function uf(a,b){var c=yf(a,!1),d=b?vf:wf;return function(a,b){return d(c(a,b),a,this)}}function vf(a,b){var c;return Rh?(c=ye(b)?4:6,a[2][1]+c*(b.value<0?-1:1)):a[0][0]+(a[2][0]-a[0][0])/2}function wf(a,b,c){var d=c.getBoundingClientRect();return Rh?(a[0][0]+a[2][0]+.6*d.height)/2:a[2][1]+(b.value<0?d.height:ye(b)?-3:-6)}function xf(a,b){var c=a.__max__+1,d=ge(0,c,a,!!b),e=he(!!b),f=ie(xe,a,!!b),g=b?ab:_;return function(a,b){var c=g(a.id)(0),h=f(a,b)||c,i=d(a),j=e(a);return Rh&&(0<a.value&&c>j||a.value<0&&j>c)&&(j=c),[[i,h],[i,j-(c-h)]]}}function yf(a,b){var c=a.__max__+1,d=le(bh,c),e=ge(d,c,a,!!b),f=he(!!b),g=ie(ye,a,!!b),h=b?ab:_;return function(a,b){var c=h(a.id)(0),i=g(a,b)||c,j=e(a),k=f(a);return Rh&&(0<a.value&&c>k||a.value<0&&k>c)&&(k=c),[[j,i],[j,k-(c-i)],[j+d,k-(c-i)],[j+d,i]]}}function zf(a,b){var c=a.__max__+1,d=ge(0,c,a,!!b),e=he(!!b),f=ie(ue,a,!!b),g=b?ab:_;return function(a,b){var c=g(a.id)(0),h=f(a,b)||c,i=d(a),j=e(a);return Rh&&(0<a.value&&c>j||a.value<0&&j>c)&&(j=c),[[i,j-(c-h)]]}}function Af(a,b,e,f){var g,h,i,j,k,l,m,n,o,p,q,r,s=-1,t="M",u=[];if(d(f))for(g=0;g<f.length;g++)u[g]={},u[g].start=c(f[g].start)?a[0].x:Aj?Me(f[g].start):f[g].start,u[g].end=c(f[g].end)?a[a.length-1].x:Aj?Me(f[g].end):f[g].end;for(q=Rh?function(a){return e(a.value)}:function(a){return b(a.x)},r=Rh?function(a){return b(a.x)}:function(a){return e(a.value)},i=Aj?function(a,c,d,f){var g=a.x.getTime(),h=c.x-a.x,i=new Date(g+h*d),j=new Date(g+h*(d+f));return"M"+b(i)+" "+e(k(d))+" "+b(j)+" "+e(k(d+f))}:function(a,c,d,f){return"M"+b(j(d),!0)+" "+e(k(d))+" "+b(j(d+f),!0)+" "+e(k(d+f))},g=0;g<a.length;g++){if(c(u)||!Pe(a[g].x,u))t+=" "+q(a[g])+" "+r(a[g]);else for(j=Y(a[g-1].x,a[g].x,Aj),k=Y(a[g-1].value,a
}).attr("height",function(a){return C[a]}).attr("x",i).attr("y",l),t=hk.selectAll("rect."+g.legendItemTile).data(a),(n?t.transition():t).style("fill",Jj).attr("x",f).attr("y",j),hk.selectAll("."+g.legendItem).classed(g.legendItemHidden,function(a){return!Qc(a)}).transition().style("opacity",function(a){var b=eg.select(this);return Qc(a)?!G||b.classed(g.legendItemFocused)?Vf(b):Wf(b):Zj}),S(w),T(x),R(F),p(),W(),Of(),o(q,c)}function ag(a){return Pc(fg.data.targets,a.id)}function bg(a){return"data"in a&&Pc(fg.data.targets,a.data.id)}function cg(a){var b=a&&a.value?a.value:null,c=a&&a["class"]?a["class"]:null;return b?function(a){return a.value!==b}:c?function(a){return a["class"]!==c}:function(){return!0}}function dg(a,b,c){var d=!te(fg.data.targets);Hj=!1,me(a,b),Qf(c||{withTransitionForAxis:d})}var eg=a.d3?a.d3:"undefined"!=typeof require?require("d3"):void 0,fg={data:{},axis:{},legend:{}},gg={},hg=i(["bindto"],"#chart"),ig=i(["size","width"]),jg=i(["size","height"]),kg=i(["padding","left"]),lg=i(["padding","right"]),mg=i(["padding","top"]),ng=i(["padding","bottom"]),og=i(["zoom","enabled"],!1),pg=i(["zoom","extent"]),qg=i(["zoom","privileged"],!1),rg=i(["interaction","enabled"],!0),sg=i(["onenter"],function(){}),tg=i(["onleave"],function(){}),ug=i(["onresize"],function(){}),vg=i(["onresized"],function(){}),wg=i(["transition","duration"],350);h("data","data is required in config");var xg,yg,zg,Ag,Bg,Cg,Dg,Eg,Fg,Gg,Hg,Ig,Jg,Kg,Lg,Mg,Ng,Og,Pg,Qg,Rg,Sg,Tg,Ug,Vg,Wg,Xg,Yg,Zg,$g,_g,ah,bh,ch,dh,eh,fh=i(["data","x"]),gh=i(["data","xs"],{}),hh=i(["data","x_format"]),ih=i(["data","id_converter"],function(a){return a}),jh=i(["data","names"],{}),kh=i(["data","classes"],{}),lh=i(["data","groups"],[]),mh=i(["data","axes"],{}),nh=i(["data","type"]),oh=i(["data","types"],{}),ph=i(["data","labels"],{}),qh=i(["data","order"]),rh=i(["data","regions"],{}),sh=i(["data","color"]),th=i(["data","colors"],{}),uh=i(["data","hide"],!1),vh=i(["data","filter"]),wh=i(["data","selection","enabled"],!1),xh=i(["data","selection","grouped"],!1),yh=i(["data","selection","isselectable"],function(){return!0}),zh=i(["data","selection","multiple"],!0),Ah=i(["data","onclick"],function(){}),Bh=i(["data","onenter"],function(){}),Ch=i(["data","onleave"],function(){}),Dh=i(["data","onselected"],function(){}),Eh=i(["data","onunselected"],function(){}),Fh=i(["data","ondragstart"],function(){}),Gh=i(["data","ondragend"],function(){}),Hh=i(["subchart","show"],!1),Ih=i(["subchart","size","height"],60),Jh=i(["color","pattern"],[]),Kh=i(["color","threshold"],{}),Lh=i(["legend","show"],!0),Mh=i(["legend","position"],"bottom"),Nh=i(["legend","item","onclick"]),Oh=i(["legend","item","onmouseover"]),Ph=i(["legend","item","onmouseout"]),Qh=i(["legend","equally"],!1),Rh=i(["axis","rotated"],!1),Sh=i(["axis","x","show"],!0),Th=i(["axis","x","type"],"indexed"),Uh=i(["axis","x","localtime"],!0),Vh=i(["axis","x","categories"],[]),Wh=i(["axis","x","tick","centered"],!1),Xh=i(["axis","x","tick","format"]),Yh=i(["axis","x","tick","culling"],{}),Zh=i(["axis","x","tick","culling","max"],10),$h=i(["axis","x","tick","count"]),_h=i(["axis","x","tick","fit"],!0),ai=i(["axis","x","tick","values"],null),bi=i(["axis","x","tick","rotate"]),ci=i(["axis","x","max"],null),di=i(["axis","x","min"],null),ei=i(["axis","x","padding"],{}),fi=i(["axis","x","height"]),gi=i(["axis","x","default"]),hi=i(["axis","x","label"],{}),ii=i(["axis","y","show"],!0),ji=i(["axis","y","max"]),ki=i(["axis","y","min"]),li=i(["axis","y","center"]),mi=i(["axis","y","label"],{}),ni=i(["axis","y","inner"],!1),oi=i(["axis","y","tick","format"]),pi=i(["axis","y","padding"]),qi=i(["axis","y","ticks"],10),ri=i(["axis","y2","show"],!1),si=i(["axis","y2","max"]),ti=i(["axis","y2","min"]),ui=i(["axis","y2","center"]),vi=i(["axis","y2","label"],{}),wi=i(["axis","y2","inner"],!1),xi=i(["axis","y2","tick","format"]),yi=i(["axis","y2","padding"]),zi=i(["axis","y2","ticks"],10),Ai=i(["grid","x","show"],!1),Bi=i(["grid","x","type"],"tick"),Ci=i(["grid","x","lines"],[]),Di=i(["grid","y","show"],!1),Ei=i(["grid","y","lines"],[]),Fi=i(["gr