From f1ce75f5def110721cc22990bf32c28f273e3199 Mon Sep 17 00:00:00 2001 From: Daniel Santillan Date: Wed, 30 Mar 2016 15:52:57 +0200 Subject: [PATCH] Limited removeal of brushes to histo element in order to not remove possible external brushes --- app/scripts/scatter.js | 8 ++++---- lib/scripts/analytics.min.js | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/scripts/scatter.js b/app/scripts/scatter.js index 03f0548..514a0b4 100644 --- a/app/scripts/scatter.js +++ b/app/scripts/scatter.js @@ -51,10 +51,10 @@ function scatterPlot(args, callback, openinfo, filterset) { this.showDropDownSelection = defaultFor(args.showDropDownSelection, true);; - d3.selectAll(".point-tooltip").remove(); + d3.selectAll(".AV-point-tooltip").remove(); this.tooltip = d3.select("body").append("div") - .attr("class", "point-tooltip"); + .attr("class", "AV-point-tooltip"); } @@ -880,7 +880,7 @@ scatterPlot.prototype.render = function(){ // Close tooltip if interaction is done anywhere else. $(document).on("mousedown", function(e){ - if (e.target.nodeName!="circle" && e.target.className!="point-tooltip"){ + if (e.target.nodeName!="circle" && e.target.className!="AV-point-tooltip"){ if(self.selectedpoint){ self.tooltip.transition() .duration(100) @@ -1074,7 +1074,7 @@ scatterPlot.prototype.parallelsPlot = function parallelsPlot(){ this.parameters = this.headerNames.slice(0); // Do some cleanup (especially on objects with events) - d3.selectAll(".brush").remove(); + d3.select(self.histoEl).selectAll(".brush").remove(); d3.select("#reset_filters").remove(); this.parameters.forEach(function(para) { diff --git a/lib/scripts/analytics.min.js b/lib/scripts/analytics.min.js index 1997be1..e4a06e6 100644 --- a/lib/scripts/analytics.min.js +++ b/lib/scripts/analytics.min.js @@ -1,3 +1,3 @@ -function RGBColor(a){this.ok=!1,"#"==a.charAt(0)&&(a=a.substr(1,6)),a=a.replace(/ /g,""),a=a.toLowerCase();var b={aliceblue:"f0f8ff",antiquewhite:"faebd7",aqua:"00ffff",aquamarine:"7fffd4",azure:"f0ffff",beige:"f5f5dc",bisque:"ffe4c4",black:"000000",blanchedalmond:"ffebcd",blue:"0000ff",blueviolet:"8a2be2",brown:"a52a2a",burlywood:"deb887",cadetblue:"5f9ea0",chartreuse:"7fff00",chocolate:"d2691e",coral:"ff7f50",cornflowerblue:"6495ed",cornsilk:"fff8dc",crimson:"dc143c",cyan:"00ffff",darkblue:"00008b",darkcyan:"008b8b",darkgoldenrod:"b8860b",darkgray:"a9a9a9",darkgreen:"006400",darkkhaki:"bdb76b",darkmagenta:"8b008b",darkolivegreen:"556b2f",darkorange:"ff8c00",darkorchid:"9932cc",darkred:"8b0000",darksalmon:"e9967a",darkseagreen:"8fbc8f",darkslateblue:"483d8b",darkslategray:"2f4f4f",darkturquoise:"00ced1",darkviolet:"9400d3",deeppink:"ff1493",deepskyblue:"00bfff",dimgray:"696969",dodgerblue:"1e90ff",feldspar:"d19275",firebrick:"b22222",floralwhite:"fffaf0",forestgreen:"228b22",fuchsia:"ff00ff",gainsboro:"dcdcdc",ghostwhite:"f8f8ff",gold:"ffd700",goldenrod:"daa520",gray:"808080",green:"008000",greenyellow:"adff2f",honeydew:"f0fff0",hotpink:"ff69b4",indianred:"cd5c5c",indigo:"4b0082",ivory:"fffff0",khaki:"f0e68c",lavender:"e6e6fa",lavenderblush:"fff0f5",lawngreen:"7cfc00",lemonchiffon:"fffacd",lightblue:"add8e6",lightcoral:"f08080",lightcyan:"e0ffff",lightgoldenrodyellow:"fafad2",lightgrey:"d3d3d3",lightgreen:"90ee90",lightpink:"ffb6c1",lightsalmon:"ffa07a",lightseagreen:"20b2aa",lightskyblue:"87cefa",lightslateblue:"8470ff",lightslategray:"778899",lightsteelblue:"b0c4de",lightyellow:"ffffe0",lime:"00ff00",limegreen:"32cd32",linen:"faf0e6",magenta:"ff00ff",maroon:"800000",mediumaquamarine:"66cdaa",mediumblue:"0000cd",mediumorchid:"ba55d3",mediumpurple:"9370d8",mediumseagreen:"3cb371",mediumslateblue:"7b68ee",mediumspringgreen:"00fa9a",mediumturquoise:"48d1cc",mediumvioletred:"c71585",midnightblue:"191970",mintcream:"f5fffa",mistyrose:"ffe4e1",moccasin:"ffe4b5",navajowhite:"ffdead",navy:"000080",oldlace:"fdf5e6",olive:"808000",olivedrab:"6b8e23",orange:"ffa500",orangered:"ff4500",orchid:"da70d6",palegoldenrod:"eee8aa",palegreen:"98fb98",paleturquoise:"afeeee",palevioletred:"d87093",papayawhip:"ffefd5",peachpuff:"ffdab9",peru:"cd853f",pink:"ffc0cb",plum:"dda0dd",powderblue:"b0e0e6",purple:"800080",red:"ff0000",rosybrown:"bc8f8f",royalblue:"4169e1",saddlebrown:"8b4513",salmon:"fa8072",sandybrown:"f4a460",seagreen:"2e8b57",seashell:"fff5ee",sienna:"a0522d",silver:"c0c0c0",skyblue:"87ceeb",slateblue:"6a5acd",slategray:"708090",snow:"fffafa",springgreen:"00ff7f",steelblue:"4682b4",tan:"d2b48c",teal:"008080",thistle:"d8bfd8",tomato:"ff6347",turquoise:"40e0d0",violet:"ee82ee",violetred:"d02090",wheat:"f5deb3",white:"ffffff",whitesmoke:"f5f5f5",yellow:"ffff00",yellowgreen:"9acd32"};for(var c in b)a==c&&(a=b[c]);for(var d=[{re:/^rgb\((\d{1,3}),\s*(\d{1,3}),\s*(\d{1,3})\)$/,example:["rgb(123, 234, 45)","rgb(255,234,245)"],process:function(a){return[parseInt(a[1]),parseInt(a[2]),parseInt(a[3])]}},{re:/^(\w{2})(\w{2})(\w{2})$/,example:["#00ff00","336699"],process:function(a){return[parseInt(a[1],16),parseInt(a[2],16),parseInt(a[3],16)]}},{re:/^(\w{1})(\w{1})(\w{1})$/,example:["#fb0","f0f"],process:function(a){return[parseInt(a[1]+a[1],16),parseInt(a[2]+a[2],16),parseInt(a[3]+a[3],16)]}}],e=0;e255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toHex=function(){var a=this.r.toString(16),b=this.g.toString(16),c=this.b.toString(16);return 1==a.length&&(a="0"+a),1==b.length&&(b="0"+b),1==c.length&&(c="0"+c),"#"+a+b+c},this.getHelpXML=function(){for(var a=new Array,c=0;c "+j.toRGB()+" -> "+j.toHex());i.appendChild(k),i.appendChild(l),h.appendChild(i)}catch(m){}return h}}function defaultFor(a,b){return"undefined"!=typeof a?a:b}function scatterPlot(a,b,c,d){this.scatterEl=a.scatterEl,this.margin=defaultFor(a.margin,{top:50,right:40,bottom:35,left:70}),this.histoEl=defaultFor(a.histoEl,!1),this.histoMargin=defaultFor(a.histoMargin,{top:30,right:70,bottom:30,left:100}),this.openinfo=c,this.filterset=d,this.callback=b,this.headerNames=null,this.colors=a.colors,this.toIgnore=defaultFor(a.toIgnore,["id","active"]),this.toIgnoreHistogram=defaultFor(a.toIgnoreHistogram,["id"]),this.format_date=defaultFor(a.dateformat,"%H:%M:%S"),this.parameter_colors=null,this.col_ordinal=[],this.col_date=[],this.col_vec=[],this.grid_active=defaultFor(a.grid,!0),this.sel_x=defaultFor(a.selection_x,"Latitude"),this.sel_y=defaultFor(a.selection_y,null),this.identifiers=[],this.active_brushes=[],this.brush_extents={},this.parameter_color_range=d3.scale.category20().range(),this.hist_data={},this.parameters=null,this.y=null,this.x=null,this.x_hist=null,this.axis=null,this.height=null,this.width=null,this.selectedpoint=null,this.residuals=!1,this.showDropDownSelection=defaultFor(a.showDropDownSelection,!0),d3.selectAll(".point-tooltip").remove(),this.tooltip=d3.select("body").append("div").attr("class","point-tooltip")}!function($){"namespace sumo";$.fn.SumoSelect=function(a){var b=$.extend({placeholder:"Select Here",csvDispCount:3,captionFormat:"{0} Selected",floatWidth:400,forceCustomRendering:!1,nativeOnDevice:["Android","BlackBerry","iPhone","iPad","iPod","Opera Mini","IEMobile","Silk"],outputAsCSV:!1,csvSepChar:",",okCancelInMulti:!1,triggerChangeCombined:!0},a),c=this.each(function(){var a=this;!this.sumo&&$(this).is("select")&&(this.sumo={E:$(a),is_multi:$(a).attr("multiple"),select:"",caption:"",placeholder:"",optDiv:"",CaptionCont:"",is_floating:!1,is_opened:!1,backdrop:"",mob:!1,Pstate:[],createElems:function(){var a=this;return a.E.wrap('
'),a.select=a.E.parent(),a.caption=$("

"),a.CaptionCont=$('
').addClass("SlectBox").attr("style",a.E.attr("style")).prepend(a.caption),a.select.append(a.CaptionCont),a.E.attr("disabled")&&a.select.addClass("disabled"),b.outputAsCSV&&a.is_multi&&a.E.attr("name")&&(a.select.append($('').attr("name",a.E.attr("name")).val(a.getSelStr())),a.E.removeAttr("name")),a.isMobile()&&!b.forceCustomRendering?void a.setNativeMobile():(a.E.hide(),a.optDiv=$('
'),a.floatingList(),ul=$('
    '),a.optDiv.append(ul),$(a.E.find("option")).each(function(b,c){c=$(c),a.createLi(c)}),a.is_multi&&a.multiSelelect(),$(".BackdropSelect").length||$("body").append('
    '),a.backdrop=$(".BackdropSelect"),a.select.append(a.optDiv),void a.basicEvents())},createLi:function(a,b){var c=this;return li=$('
  • "),c.is_multi&&li.prepend(""),a.attr("selected")&&li.addClass("selected"),ul=c.optDiv.children("ul.options"),"undefined"==typeof b?ul.append(li):ul.children("li").eq(b).before(li),a.is("optgroup > option:first-child")&&(li.before('
  • "),a.parent("optgroup").attr("disabled")&&li.prev().addClass("disabled")),a.attr("disabled")||a.parent("optgroup").attr("disabled")?li.addClass("disabled"):c.onOptClick(li),li},getSelStr:function(){return sopt=[],this.E.find("option:selected").each(function(){sopt.push($(this).val())}),sopt.join(b.csvSepChar)},multiSelelect:function(){var a=this;a.optDiv.addClass("multiple"),okbtn=$('

    OK

    ').click(function(){b.triggerChangeCombined&&(changed=!1,a.E.find("option:selected").length!=a.Pstate.length?changed=!0:a.E.find("option:selected").each(function(){a.Pstate.indexOf($(this).val())<0&&(changed=!0)}),changed&&(a.E.trigger("change"),a.setText())),a.hideOpts()}),cancelBtn=$('

    Cancel

    ').click(function(){for(a.E.find("option:selected").each(function(){this.selected=!1}),a.optDiv.find("li.selected").removeClass("selected"),i=0;i').append(okbtn).append(cancelBtn))},showOpts:function(){var a=this;a.E.attr("disabled")||(a.is_opened=!0,a.backdrop.show(),a.optDiv.addClass("open"),a.is_floating&&(H=a.optDiv.children("ul").outerHeight()+2,a.is_multi&&(H+=parseInt(a.optDiv.css("padding-bottom"))),a.optDiv.css("height",H)),a.is_multi&&(a.is_floating||b.okCancelInMulti)&&(a.Pstate=[],a.E.find("option:selected").each(function(){a.Pstate.push($(this).val())})))},hideOpts:function(){var a=this;a.is_opened=!1,a.backdrop.hide(),a.optDiv.removeClass("open")},basicEvents:function(){var a=this;a.CaptionCont.click(function(b){a.is_opened?a.hideOpts():a.showOpts(),a.E.trigger("click")}),a.backdrop.click(function(){a.hideOpts()}),a.E.on("blur",function(){a.optDiv.removeClass("open")}),$(window).on("resize.sumo",function(){a.floatingList()})},onOptClick:function(a){var c=this;a.click(function(){var a=$(this);txt="",c.is_multi?(a.toggleClass("selected"),c.E.find('option[value="'+a.attr("data-val")+'"]')[0].selected=a.hasClass("selected")):(a.parent().find("li.selected").removeClass("selected"),a.toggleClass("selected"),c.E.val(a.attr("data-val"))),c.is_multi&&b.triggerChangeCombined&&(c.is_floating||b.okCancelInMulti)||(c.setText(),c.E.trigger("change")),c.is_multi||c.hideOpts()})},setText:function(){var a=this;if(a.placeholder="",a.is_multi){for(sels=a.E.find(":selected").not(":disabled"),i=0;i=b.csvDispCount&&b.csvDispCount){a.placeholder=b.captionFormat.replace("{0}",sels.length);break}a.placeholder+=$(sels[i]).text()+", "}a.placeholder=a.placeholder.replace(/,([^,]*)$/,"$1")}else a.placeholder=a.E.find(":selected").not(":disabled").text();return is_placeholder=!1,a.placeholder||(is_placeholder=!0,a.placeholder=a.E.attr("placeholder"),a.placeholder||(a.placeholder=a.E.find("option:disabled:selected").text())),a.placeholder=a.placeholder?a.placeholder:b.placeholder,a.caption.html(a.placeholder),csvField=a.select.find("input.HEMANT123"),csvField.length&&csvField.val(a.getSelStr()),is_placeholder?a.caption.addClass("placeholder"):a.caption.removeClass("placeholder"),a.placeholder},isMobile:function(){navigator.userAgent||navigator.vendor||window.opera;return!1},setNativeMobile:function(){var a=this;a.E.addClass("SelectClass"),a.mob=!0,a.E.change(function(){a.setText()})},floatingList:function(){var a=this;a.is_floating=$(window).width()<=b.floatWidth,a.optDiv.toggleClass("isFloating",a.is_floating),a.is_floating||a.optDiv.css("height",""),a.optDiv.toggleClass("okCancelInMulti",b.okCancelInMulti&&!a.is_floating)},vRange:function(a){var b=this;if(opts=b.E.find("option"),opts.length<=a||0>a)throw"index out of bounds";return b},toggSel:function(a,b){var c=this.vRange(b);c.E.find("option")[b].disabled||(c.E.find("option")[b].selected=a,c.mob||c.optDiv.find("ul.options li").eq(b).toggleClass("selected",a),c.setText())},toggDis:function(a,b){var c=this.vRange(b);c.E.find("option")[b].disabled=a,c.mob||c.optDiv.find("ul.options li").eq(b).toggleClass("disabled",a),c.setText()},unload:function(){var c=this;return c.select.before(c.E),c.E.removeClass("SelectClass").show(),b.outputAsCSV&&c.is_multi&&c.select.find("input.HEMANT123").length&&c.E.attr("name",c.select.find("input.HEMANT123").attr("name")),c.select.remove(),delete a.sumo,a},add:function(b,c,d){if("undefined"==typeof b)throw"No value to add";var e=this;if(opts=e.E.find("option"),"number"==typeof c&&(d=c,c=b),"undefined"==typeof c&&(c=b),opt=$("").val(b).html(c),opts.length]*>/,"");var c=new ActiveXObject("Microsoft.XMLDOM");return c.async="false",c.loadXML(a),c},a.Property=function(a,b){this.name=a,this.value=b},a.Property.prototype.getValue=function(){return this.value},a.Property.prototype.hasValue=function(){return null!=this.value&&""!==this.value},a.Property.prototype.numValue=function(){if(!this.hasValue())return 0;var a=parseFloat(this.value);return(this.value+"").match(/%$/)&&(a/=100),a},a.Property.prototype.valueOrDefault=function(a){return this.hasValue()?this.value:a},a.Property.prototype.numValueOrDefault=function(a){return this.hasValue()?this.numValue():a},a.Property.prototype.addOpacity=function(b){var c=this.value;if(null!=b&&""!=b&&"string"==typeof this.value){var d=new RGBColor(this.value);d.ok&&(c="rgba("+d.r+", "+d.g+", "+d.b+", "+b+")")}return new a.Property(this.name,c)},a.Property.prototype.getDefinition=function(){var b=this.value.match(/#([^\)'"]+)/);return b&&(b=b[1]),b||(b=this.value),a.Definitions[b]},a.Property.prototype.isUrlDefinition=function(){return 0==this.value.indexOf("url(")},a.Property.prototype.getFillStyleDefinition=function(b,c){var d=this.getDefinition();if(null!=d&&d.createGradient)return d.createGradient(a.ctx,b,c);if(null!=d&&d.createPattern){if(d.getHrefAttribute().hasValue()){var e=d.attribute("patternTransform");d=d.getHrefAttribute().getDefinition(),e.hasValue()&&(d.attribute("patternTransform",!0).value=e.value)}return d.createPattern(a.ctx,b)}return null},a.Property.prototype.getDPI=function(a){return 96},a.Property.prototype.getEM=function(b){var c=12,d=new a.Property("fontSize",a.Font.Parse(a.ctx.font).fontSize);return d.hasValue()&&(c=d.toPixels(b)),c},a.Property.prototype.getUnits=function(){var a=this.value+"";return a.replace(/[0-9\.\-]/g,"")},a.Property.prototype.toPixels=function(b,c){if(!this.hasValue())return 0;var d=this.value+"";if(d.match(/em$/))return this.numValue()*this.getEM(b);if(d.match(/ex$/))return this.numValue()*this.getEM(b)/2;if(d.match(/px$/))return this.numValue();if(d.match(/pt$/))return this.numValue()*this.getDPI(b)*(1/72);if(d.match(/pc$/))return 15*this.numValue();if(d.match(/cm$/))return this.numValue()*this.getDPI(b)/2.54;if(d.match(/mm$/))return this.numValue()*this.getDPI(b)/25.4;if(d.match(/in$/))return this.numValue()*this.getDPI(b);if(d.match(/%$/))return this.numValue()*a.ViewPort.ComputeSize(b);var e=this.numValue();return c&&1>e?e*a.ViewPort.ComputeSize(b):e},a.Property.prototype.toMilliseconds=function(){if(!this.hasValue())return 0;var a=this.value+"";return a.match(/s$/)?1e3*this.numValue():a.match(/ms$/)?this.numValue():this.numValue()},a.Property.prototype.toRadians=function(){if(!this.hasValue())return 0;var a=this.value+"";return a.match(/deg$/)?this.numValue()*(Math.PI/180):a.match(/grad$/)?this.numValue()*(Math.PI/200):a.match(/rad$/)?this.numValue():this.numValue()*(Math.PI/180)},a.Font=new function(){this.Styles="normal|italic|oblique|inherit",this.Variants="normal|small-caps|inherit",this.Weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit",this.CreateFont=function(b,c,d,e,f,g){var h=null!=g?this.Parse(g):this.CreateFont("","","","","",a.ctx.font);return{fontFamily:f||h.fontFamily,fontSize:e||h.fontSize,fontStyle:b||h.fontStyle,fontWeight:d||h.fontWeight,fontVariant:c||h.fontVariant,toString:function(){return[this.fontStyle,this.fontVariant,this.fontWeight,this.fontSize,this.fontFamily].join(" ")}}};var b=this;this.Parse=function(c){for(var d={},e=a.trim(a.compressSpaces(c||"")).split(" "),f={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1},g="",h=0;hthis.x2&&(this.x2=a)),null!=b&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=b,this.y2=b),bthis.y2&&(this.y2=b))},this.addX=function(a){this.addPoint(a,null)},this.addY=function(a){this.addPoint(null,a)},this.addBoundingBox=function(a){this.addPoint(a.x1,a.y1),this.addPoint(a.x2,a.y2)},this.addQuadraticCurve=function(a,b,c,d,e,f){var g=a+2/3*(c-a),h=b+2/3*(d-b),i=g+1/3*(e-a),j=h+1/3*(f-b);this.addBezierCurve(a,b,g,i,h,j,e,f)},this.addBezierCurve=function(a,b,c,d,e,f,g,h){var j=[a,b],k=[c,d],l=[e,f],m=[g,h];for(this.addPoint(j[0],j[1]),this.addPoint(m[0],m[1]),i=0;i<=1;i++){var n=function(a){return Math.pow(1-a,3)*j[i]+3*Math.pow(1-a,2)*a*k[i]+3*(1-a)*Math.pow(a,2)*l[i]+Math.pow(a,3)*m[i]},o=6*j[i]-12*k[i]+6*l[i],p=-3*j[i]+9*k[i]-9*l[i]+3*m[i],q=3*k[i]-3*j[i];if(0!=p){var r=Math.pow(o,2)-4*q*p;if(!(0>r)){var s=(-o+Math.sqrt(r))/(2*p);s>0&&1>s&&(0==i&&this.addX(n(s)),1==i&&this.addY(n(s)));var t=(-o-Math.sqrt(r))/(2*p);t>0&&1>t&&(0==i&&this.addX(n(t)),1==i&&this.addY(n(t)))}}else{if(0==o)continue;var u=-q/o;u>0&&1>u&&(0==i&&this.addX(n(u)),1==i&&this.addY(n(u)))}}},this.isPointInBox=function(a,b){return this.x1<=a&&a<=this.x2&&this.y1<=b&&b<=this.y2},this.addPoint(a,b),this.addPoint(c,d)},a.Transform=function(b){var c=this;this.Type={},this.Type.translate=function(b){this.p=a.CreatePoint(b),this.apply=function(a){a.translate(this.p.x||0,this.p.y||0)},this.unapply=function(a){a.translate(-1*this.p.x||0,-1*this.p.y||0)},this.applyToPoint=function(a){a.applyTransform([1,0,0,1,this.p.x||0,this.p.y||0])}},this.Type.rotate=function(b){var c=a.ToNumberArray(b);this.angle=new a.Property("angle",c[0]),this.cx=c[1]||0,this.cy=c[2]||0,this.apply=function(a){a.translate(this.cx,this.cy),a.rotate(this.angle.toRadians()),a.translate(-this.cx,-this.cy)},this.unapply=function(a){a.translate(this.cx,this.cy),a.rotate(-1*this.angle.toRadians()),a.translate(-this.cx,-this.cy)},this.applyToPoint=function(a){var b=this.angle.toRadians();a.applyTransform([1,0,0,1,this.p.x||0,this.p.y||0]),a.applyTransform([Math.cos(b),Math.sin(b),-Math.sin(b),Math.cos(b),0,0]),a.applyTransform([1,0,0,1,-this.p.x||0,-this.p.y||0])}},this.Type.scale=function(b){this.p=a.CreatePoint(b),this.apply=function(a){a.scale(this.p.x||1,this.p.y||this.p.x||1)},this.unapply=function(a){a.scale(1/this.p.x||1,1/this.p.y||this.p.x||1)},this.applyToPoint=function(a){a.applyTransform([this.p.x||0,0,0,this.p.y||0,0,0])}},this.Type.matrix=function(b){this.m=a.ToNumberArray(b),this.apply=function(a){a.transform(this.m[0],this.m[1],this.m[2],this.m[3],this.m[4],this.m[5])},this.applyToPoint=function(a){a.applyTransform(this.m)}},this.Type.SkewBase=function(b){this.base=c.Type.matrix,this.base(b),this.angle=new a.Property("angle",b)},this.Type.SkewBase.prototype=new this.Type.matrix,this.Type.skewX=function(a){this.base=c.Type.SkewBase,this.base(a),this.m=[1,0,Math.tan(this.angle.toRadians()),1,0,0]},this.Type.skewX.prototype=new this.Type.SkewBase,this.Type.skewY=function(a){this.base=c.Type.SkewBase,this.base(a),this.m=[1,Math.tan(this.angle.toRadians()),0,1,0,0]},this.Type.skewY.prototype=new this.Type.SkewBase,this.transforms=[],this.apply=function(a){for(var b=0;b=0;b--)this.transforms[b].unapply(a)},this.applyToPoint=function(a){for(var b=0;b255?255:this.r,this.g=this.g<0||isNaN(this.g)?0:this.g>255?255:this.g,this.b=this.b<0||isNaN(this.b)?0:this.b>255?255:this.b,this.toRGB=function(){return"rgb("+this.r+", "+this.g+", "+this.b+")"},this.toHex=function(){var a=this.r.toString(16),b=this.g.toString(16),c=this.b.toString(16);return 1==a.length&&(a="0"+a),1==b.length&&(b="0"+b),1==c.length&&(c="0"+c),"#"+a+b+c},this.getHelpXML=function(){for(var a=new Array,c=0;c "+j.toRGB()+" -> "+j.toHex());i.appendChild(k),i.appendChild(l),h.appendChild(i)}catch(m){}return h}}function defaultFor(a,b){return"undefined"!=typeof a?a:b}function scatterPlot(a,b,c,d){this.scatterEl=a.scatterEl,this.margin=defaultFor(a.margin,{top:50,right:40,bottom:35,left:70}),this.histoEl=defaultFor(a.histoEl,!1),this.histoMargin=defaultFor(a.histoMargin,{top:30,right:70,bottom:30,left:100}),this.openinfo=c,this.filterset=d,this.callback=b,this.headerNames=null,this.colors=a.colors,this.toIgnore=defaultFor(a.toIgnore,["id","active"]),this.toIgnoreHistogram=defaultFor(a.toIgnoreHistogram,["id"]),this.format_date=defaultFor(a.dateformat,"%H:%M:%S"),this.parameter_colors=null,this.col_ordinal=[],this.col_date=[],this.col_vec=[],this.grid_active=defaultFor(a.grid,!0),this.sel_x=defaultFor(a.selection_x,"Latitude"),this.sel_y=defaultFor(a.selection_y,null),this.identifiers=[],this.active_brushes=[],this.brush_extents={},this.parameter_color_range=d3.scale.category20().range(),this.hist_data={},this.parameters=null,this.y=null,this.x=null,this.x_hist=null,this.axis=null,this.height=null,this.width=null,this.selectedpoint=null,this.residuals=!1,this.showDropDownSelection=defaultFor(a.showDropDownSelection,!0),d3.selectAll(".AV-point-tooltip").remove(),this.tooltip=d3.select("body").append("div").attr("class","AV-point-tooltip")}!function($){"namespace sumo";$.fn.SumoSelect=function(a){var b=$.extend({placeholder:"Select Here",csvDispCount:3,captionFormat:"{0} Selected",floatWidth:400,forceCustomRendering:!1,nativeOnDevice:["Android","BlackBerry","iPhone","iPad","iPod","Opera Mini","IEMobile","Silk"],outputAsCSV:!1,csvSepChar:",",okCancelInMulti:!1,triggerChangeCombined:!0},a),c=this.each(function(){var a=this;!this.sumo&&$(this).is("select")&&(this.sumo={E:$(a),is_multi:$(a).attr("multiple"),select:"",caption:"",placeholder:"",optDiv:"",CaptionCont:"",is_floating:!1,is_opened:!1,backdrop:"",mob:!1,Pstate:[],createElems:function(){var a=this;return a.E.wrap('
    '),a.select=a.E.parent(),a.caption=$("

    "),a.CaptionCont=$('
    ').addClass("SlectBox").attr("style",a.E.attr("style")).prepend(a.caption),a.select.append(a.CaptionCont),a.E.attr("disabled")&&a.select.addClass("disabled"),b.outputAsCSV&&a.is_multi&&a.E.attr("name")&&(a.select.append($('').attr("name",a.E.attr("name")).val(a.getSelStr())),a.E.removeAttr("name")),a.isMobile()&&!b.forceCustomRendering?void a.setNativeMobile():(a.E.hide(),a.optDiv=$('
    '),a.floatingList(),ul=$('
      '),a.optDiv.append(ul),$(a.E.find("option")).each(function(b,c){c=$(c),a.createLi(c)}),a.is_multi&&a.multiSelelect(),$(".BackdropSelect").length||$("body").append('
      '),a.backdrop=$(".BackdropSelect"),a.select.append(a.optDiv),void a.basicEvents())},createLi:function(a,b){var c=this;return li=$('
    • "),c.is_multi&&li.prepend(""),a.attr("selected")&&li.addClass("selected"),ul=c.optDiv.children("ul.options"),"undefined"==typeof b?ul.append(li):ul.children("li").eq(b).before(li),a.is("optgroup > option:first-child")&&(li.before('
    • "),a.parent("optgroup").attr("disabled")&&li.prev().addClass("disabled")),a.attr("disabled")||a.parent("optgroup").attr("disabled")?li.addClass("disabled"):c.onOptClick(li),li},getSelStr:function(){return sopt=[],this.E.find("option:selected").each(function(){sopt.push($(this).val())}),sopt.join(b.csvSepChar)},multiSelelect:function(){var a=this;a.optDiv.addClass("multiple"),okbtn=$('

      OK

      ').click(function(){b.triggerChangeCombined&&(changed=!1,a.E.find("option:selected").length!=a.Pstate.length?changed=!0:a.E.find("option:selected").each(function(){a.Pstate.indexOf($(this).val())<0&&(changed=!0)}),changed&&(a.E.trigger("change"),a.setText())),a.hideOpts()}),cancelBtn=$('

      Cancel

      ').click(function(){for(a.E.find("option:selected").each(function(){this.selected=!1}),a.optDiv.find("li.selected").removeClass("selected"),i=0;i').append(okbtn).append(cancelBtn))},showOpts:function(){var a=this;a.E.attr("disabled")||(a.is_opened=!0,a.backdrop.show(),a.optDiv.addClass("open"),a.is_floating&&(H=a.optDiv.children("ul").outerHeight()+2,a.is_multi&&(H+=parseInt(a.optDiv.css("padding-bottom"))),a.optDiv.css("height",H)),a.is_multi&&(a.is_floating||b.okCancelInMulti)&&(a.Pstate=[],a.E.find("option:selected").each(function(){a.Pstate.push($(this).val())})))},hideOpts:function(){var a=this;a.is_opened=!1,a.backdrop.hide(),a.optDiv.removeClass("open")},basicEvents:function(){var a=this;a.CaptionCont.click(function(b){a.is_opened?a.hideOpts():a.showOpts(),a.E.trigger("click")}),a.backdrop.click(function(){a.hideOpts()}),a.E.on("blur",function(){a.optDiv.removeClass("open")}),$(window).on("resize.sumo",function(){a.floatingList()})},onOptClick:function(a){var c=this;a.click(function(){var a=$(this);txt="",c.is_multi?(a.toggleClass("selected"),c.E.find('option[value="'+a.attr("data-val")+'"]')[0].selected=a.hasClass("selected")):(a.parent().find("li.selected").removeClass("selected"),a.toggleClass("selected"),c.E.val(a.attr("data-val"))),c.is_multi&&b.triggerChangeCombined&&(c.is_floating||b.okCancelInMulti)||(c.setText(),c.E.trigger("change")),c.is_multi||c.hideOpts()})},setText:function(){var a=this;if(a.placeholder="",a.is_multi){for(sels=a.E.find(":selected").not(":disabled"),i=0;i=b.csvDispCount&&b.csvDispCount){a.placeholder=b.captionFormat.replace("{0}",sels.length);break}a.placeholder+=$(sels[i]).text()+", "}a.placeholder=a.placeholder.replace(/,([^,]*)$/,"$1")}else a.placeholder=a.E.find(":selected").not(":disabled").text();return is_placeholder=!1,a.placeholder||(is_placeholder=!0,a.placeholder=a.E.attr("placeholder"),a.placeholder||(a.placeholder=a.E.find("option:disabled:selected").text())),a.placeholder=a.placeholder?a.placeholder:b.placeholder,a.caption.html(a.placeholder),csvField=a.select.find("input.HEMANT123"),csvField.length&&csvField.val(a.getSelStr()),is_placeholder?a.caption.addClass("placeholder"):a.caption.removeClass("placeholder"),a.placeholder},isMobile:function(){navigator.userAgent||navigator.vendor||window.opera;return!1},setNativeMobile:function(){var a=this;a.E.addClass("SelectClass"),a.mob=!0,a.E.change(function(){a.setText()})},floatingList:function(){var a=this;a.is_floating=$(window).width()<=b.floatWidth,a.optDiv.toggleClass("isFloating",a.is_floating),a.is_floating||a.optDiv.css("height",""),a.optDiv.toggleClass("okCancelInMulti",b.okCancelInMulti&&!a.is_floating)},vRange:function(a){var b=this;if(opts=b.E.find("option"),opts.length<=a||0>a)throw"index out of bounds";return b},toggSel:function(a,b){var c=this.vRange(b);c.E.find("option")[b].disabled||(c.E.find("option")[b].selected=a,c.mob||c.optDiv.find("ul.options li").eq(b).toggleClass("selected",a),c.setText())},toggDis:function(a,b){var c=this.vRange(b);c.E.find("option")[b].disabled=a,c.mob||c.optDiv.find("ul.options li").eq(b).toggleClass("disabled",a),c.setText()},unload:function(){var c=this;return c.select.before(c.E),c.E.removeClass("SelectClass").show(),b.outputAsCSV&&c.is_multi&&c.select.find("input.HEMANT123").length&&c.E.attr("name",c.select.find("input.HEMANT123").attr("name")),c.select.remove(),delete a.sumo,a},add:function(b,c,d){if("undefined"==typeof b)throw"No value to add";var e=this;if(opts=e.E.find("option"),"number"==typeof c&&(d=c,c=b),"undefined"==typeof c&&(c=b),opt=$("").val(b).html(c),opts.length]*>/,"");var c=new ActiveXObject("Microsoft.XMLDOM");return c.async="false",c.loadXML(a),c},a.Property=function(a,b){this.name=a,this.value=b},a.Property.prototype.getValue=function(){return this.value},a.Property.prototype.hasValue=function(){return null!=this.value&&""!==this.value},a.Property.prototype.numValue=function(){if(!this.hasValue())return 0;var a=parseFloat(this.value);return(this.value+"").match(/%$/)&&(a/=100),a},a.Property.prototype.valueOrDefault=function(a){return this.hasValue()?this.value:a},a.Property.prototype.numValueOrDefault=function(a){return this.hasValue()?this.numValue():a},a.Property.prototype.addOpacity=function(b){var c=this.value;if(null!=b&&""!=b&&"string"==typeof this.value){var d=new RGBColor(this.value);d.ok&&(c="rgba("+d.r+", "+d.g+", "+d.b+", "+b+")")}return new a.Property(this.name,c)},a.Property.prototype.getDefinition=function(){var b=this.value.match(/#([^\)'"]+)/);return b&&(b=b[1]),b||(b=this.value),a.Definitions[b]},a.Property.prototype.isUrlDefinition=function(){return 0==this.value.indexOf("url(")},a.Property.prototype.getFillStyleDefinition=function(b,c){var d=this.getDefinition();if(null!=d&&d.createGradient)return d.createGradient(a.ctx,b,c);if(null!=d&&d.createPattern){if(d.getHrefAttribute().hasValue()){var e=d.attribute("patternTransform");d=d.getHrefAttribute().getDefinition(),e.hasValue()&&(d.attribute("patternTransform",!0).value=e.value)}return d.createPattern(a.ctx,b)}return null},a.Property.prototype.getDPI=function(a){return 96},a.Property.prototype.getEM=function(b){var c=12,d=new a.Property("fontSize",a.Font.Parse(a.ctx.font).fontSize);return d.hasValue()&&(c=d.toPixels(b)),c},a.Property.prototype.getUnits=function(){var a=this.value+"";return a.replace(/[0-9\.\-]/g,"")},a.Property.prototype.toPixels=function(b,c){if(!this.hasValue())return 0;var d=this.value+"";if(d.match(/em$/))return this.numValue()*this.getEM(b);if(d.match(/ex$/))return this.numValue()*this.getEM(b)/2;if(d.match(/px$/))return this.numValue();if(d.match(/pt$/))return this.numValue()*this.getDPI(b)*(1/72);if(d.match(/pc$/))return 15*this.numValue();if(d.match(/cm$/))return this.numValue()*this.getDPI(b)/2.54;if(d.match(/mm$/))return this.numValue()*this.getDPI(b)/25.4;if(d.match(/in$/))return this.numValue()*this.getDPI(b);if(d.match(/%$/))return this.numValue()*a.ViewPort.ComputeSize(b);var e=this.numValue();return c&&1>e?e*a.ViewPort.ComputeSize(b):e},a.Property.prototype.toMilliseconds=function(){if(!this.hasValue())return 0;var a=this.value+"";return a.match(/s$/)?1e3*this.numValue():a.match(/ms$/)?this.numValue():this.numValue()},a.Property.prototype.toRadians=function(){if(!this.hasValue())return 0;var a=this.value+"";return a.match(/deg$/)?this.numValue()*(Math.PI/180):a.match(/grad$/)?this.numValue()*(Math.PI/200):a.match(/rad$/)?this.numValue():this.numValue()*(Math.PI/180)},a.Font=new function(){this.Styles="normal|italic|oblique|inherit",this.Variants="normal|small-caps|inherit",this.Weights="normal|bold|bolder|lighter|100|200|300|400|500|600|700|800|900|inherit",this.CreateFont=function(b,c,d,e,f,g){var h=null!=g?this.Parse(g):this.CreateFont("","","","","",a.ctx.font);return{fontFamily:f||h.fontFamily,fontSize:e||h.fontSize,fontStyle:b||h.fontStyle,fontWeight:d||h.fontWeight,fontVariant:c||h.fontVariant,toString:function(){return[this.fontStyle,this.fontVariant,this.fontWeight,this.fontSize,this.fontFamily].join(" ")}}};var b=this;this.Parse=function(c){for(var d={},e=a.trim(a.compressSpaces(c||"")).split(" "),f={fontSize:!1,fontStyle:!1,fontWeight:!1,fontVariant:!1},g="",h=0;hthis.x2&&(this.x2=a)),null!=b&&((isNaN(this.y1)||isNaN(this.y2))&&(this.y1=b,this.y2=b),bthis.y2&&(this.y2=b))},this.addX=function(a){this.addPoint(a,null)},this.addY=function(a){this.addPoint(null,a)},this.addBoundingBox=function(a){this.addPoint(a.x1,a.y1),this.addPoint(a.x2,a.y2)},this.addQuadraticCurve=function(a,b,c,d,e,f){var g=a+2/3*(c-a),h=b+2/3*(d-b),i=g+1/3*(e-a),j=h+1/3*(f-b);this.addBezierCurve(a,b,g,i,h,j,e,f)},this.addBezierCurve=function(a,b,c,d,e,f,g,h){var j=[a,b],k=[c,d],l=[e,f],m=[g,h];for(this.addPoint(j[0],j[1]),this.addPoint(m[0],m[1]),i=0;i<=1;i++){var n=function(a){return Math.pow(1-a,3)*j[i]+3*Math.pow(1-a,2)*a*k[i]+3*(1-a)*Math.pow(a,2)*l[i]+Math.pow(a,3)*m[i]},o=6*j[i]-12*k[i]+6*l[i],p=-3*j[i]+9*k[i]-9*l[i]+3*m[i],q=3*k[i]-3*j[i];if(0!=p){var r=Math.pow(o,2)-4*q*p;if(!(0>r)){var s=(-o+Math.sqrt(r))/(2*p);s>0&&1>s&&(0==i&&this.addX(n(s)),1==i&&this.addY(n(s)));var t=(-o-Math.sqrt(r))/(2*p);t>0&&1>t&&(0==i&&this.addX(n(t)),1==i&&this.addY(n(t)))}}else{if(0==o)continue;var u=-q/o;u>0&&1>u&&(0==i&&this.addX(n(u)),1==i&&this.addY(n(u)))}}},this.isPointInBox=function(a,b){return this.x1<=a&&a<=this.x2&&this.y1<=b&&b<=this.y2},this.addPoint(a,b),this.addPoint(c,d)},a.Transform=function(b){var c=this;this.Type={},this.Type.translate=function(b){this.p=a.CreatePoint(b),this.apply=function(a){a.translate(this.p.x||0,this.p.y||0)},this.unapply=function(a){a.translate(-1*this.p.x||0,-1*this.p.y||0)},this.applyToPoint=function(a){a.applyTransform([1,0,0,1,this.p.x||0,this.p.y||0])}},this.Type.rotate=function(b){var c=a.ToNumberArray(b);this.angle=new a.Property("angle",c[0]),this.cx=c[1]||0,this.cy=c[2]||0,this.apply=function(a){a.translate(this.cx,this.cy),a.rotate(this.angle.toRadians()),a.translate(-this.cx,-this.cy)},this.unapply=function(a){a.translate(this.cx,this.cy),a.rotate(-1*this.angle.toRadians()),a.translate(-this.cx,-this.cy)},this.applyToPoint=function(a){var b=this.angle.toRadians();a.applyTransform([1,0,0,1,this.p.x||0,this.p.y||0]),a.applyTransform([Math.cos(b),Math.sin(b),-Math.sin(b),Math.cos(b),0,0]),a.applyTransform([1,0,0,1,-this.p.x||0,-this.p.y||0])}},this.Type.scale=function(b){this.p=a.CreatePoint(b),this.apply=function(a){a.scale(this.p.x||1,this.p.y||this.p.x||1)},this.unapply=function(a){a.scale(1/this.p.x||1,1/this.p.y||this.p.x||1)},this.applyToPoint=function(a){a.applyTransform([this.p.x||0,0,0,this.p.y||0,0,0])}},this.Type.matrix=function(b){this.m=a.ToNumberArray(b),this.apply=function(a){a.transform(this.m[0],this.m[1],this.m[2],this.m[3],this.m[4],this.m[5])},this.applyToPoint=function(a){a.applyTransform(this.m)}},this.Type.SkewBase=function(b){this.base=c.Type.matrix,this.base(b),this.angle=new a.Property("angle",b)},this.Type.SkewBase.prototype=new this.Type.matrix,this.Type.skewX=function(a){this.base=c.Type.SkewBase,this.base(a),this.m=[1,0,Math.tan(this.angle.toRadians()),1,0,0]},this.Type.skewX.prototype=new this.Type.SkewBase,this.Type.skewY=function(a){this.base=c.Type.SkewBase,this.base(a),this.m=[1,Math.tan(this.angle.toRadians()),0,1,0,0]},this.Type.skewY.prototype=new this.Type.SkewBase,this.transforms=[],this.apply=function(a){for(var b=0;b=0;b--)this.transforms[b].unapply(a)},this.applyToPoint=function(a){for(var b=0;b=this.tokens.length-1},this.isCommandOrEnd=function(){return this.isEnd()?!0:null!=this.tokens[this.i+1].match(/^[A-Za-z]$/)},this.isRelativeCommand=function(){switch(this.command){case"m":case"l":case"h":case"v":case"c":case"s":case"q":case"t":case"a":case"z":return!0}return!1},this.getToken=function(){return this.i++,this.tokens[this.i]},this.getScalar=function(){return parseFloat(this.getToken())},this.nextCommand=function(){this.previousCommand=this.command,this.command=this.getToken()},this.getPoint=function(){var b=new a.Point(this.getScalar(),this.getScalar());return this.makeAbsolute(b)},this.getAsControlPoint=function(){var a=this.getPoint();return this.control=a,a},this.getAsCurrentPoint=function(){var a=this.getPoint();return this.current=a,a},this.getReflectedControlPoint=function(){if("c"!=this.previousCommand.toLowerCase()&&"s"!=this.previousCommand.toLowerCase()&&"q"!=this.previousCommand.toLowerCase()&&"t"!=this.previousCommand.toLowerCase())return this.current;var b=new a.Point(2*this.current.x-this.control.x,2*this.current.y-this.control.y);return b},this.makeAbsolute=function(a){return this.isRelativeCommand()&&(a.x+=this.current.x,a.y+=this.current.y),a},this.addMarker=function(a,b,c){null!=c&&this.angles.length>0&&null==this.angles[this.angles.length-1]&&(this.angles[this.angles.length-1]=this.points[this.points.length-1].angleTo(c)),this.addMarkerAngle(a,null==b?null:b.angleTo(a))},this.addMarkerAngle=function(a,b){this.points.push(a),this.angles.push(b)},this.getMarkerPoints=function(){return this.points},this.getMarkerAngles=function(){for(var a=0;a1&&(l*=Math.sqrt(r),m*=Math.sqrt(r));var s=(o==p?-1:1)*Math.sqrt((Math.pow(l,2)*Math.pow(m,2)-Math.pow(l,2)*Math.pow(q.y,2)-Math.pow(m,2)*Math.pow(q.x,2))/(Math.pow(l,2)*Math.pow(q.y,2)+Math.pow(m,2)*Math.pow(q.x,2)));isNaN(s)&&(s=0);var t=new a.Point(s*l*q.y/m,s*-m*q.x/l),u=new a.Point((h.x+k.x)/2+Math.cos(n)*t.x-Math.sin(n)*t.y,(h.y+k.y)/2+Math.sin(n)*t.x+Math.cos(n)*t.y),v=function(a){return Math.sqrt(Math.pow(a[0],2)+Math.pow(a[1],2))},w=function(a,b){return(a[0]*b[0]+a[1]*b[1])/(v(a)*v(b))},x=function(a,b){return(a[0]*b[1]=1&&(B=0);var C=1-p?1:-1,D=y+C*(B/2),E=new a.Point(u.x+l*Math.cos(D),u.y+m*Math.sin(D));if(c.addMarkerAngle(E,D-C*Math.PI/2),c.addMarkerAngle(k,D-C*Math.PI),d.addPoint(k.x,k.y),null!=b){var w=l>m?l:m,F=l>m?1:l/m,G=l>m?m/l:1;b.translate(u.x,u.y),b.rotate(n),b.scale(F,G),b.arc(0,0,w,y,y+B,1-p),b.scale(1/F,1/G),b.rotate(-n),b.translate(-u.x,-u.y)}}break;case"Z":case"z":null!=b&&b.closePath(),c.current=c.start}return d},this.getMarkers=function(){for(var a=this.PathParser.getMarkerPoints(),b=this.PathParser.getMarkerAngles(),c=[],d=0;d=i;i++)for(var j=-1;1>=j;j++)h.save(),h.translate(i*g.width,j*g.height),f.render(h),h.restore();var k=b.createPattern(g,"repeat");return k}},a.Element.pattern.prototype=new a.Element.ElementBase,a.Element.marker=function(b){this.base=a.Element.ElementBase,this.base(b),this.baseRender=this.render,this.render=function(b,c,d){b.translate(c.x,c.y),"auto"==this.attribute("orient").valueOrDefault("auto")&&b.rotate(d),"strokeWidth"==this.attribute("markerUnits").valueOrDefault("strokeWidth")&&b.scale(b.lineWidth,b.lineWidth),b.save();var e=new a.Element.svg;e.attributes.viewBox=new a.Property("viewBox",this.attribute("viewBox").value),e.attributes.refX=new a.Property("refX",this.attribute("refX").value),e.attributes.refY=new a.Property("refY",this.attribute("refY").value),e.attributes.width=new a.Property("width",this.attribute("markerWidth").value),e.attributes.height=new a.Property("height",this.attribute("markerHeight").value),e.attributes.fill=new a.Property("fill",this.attribute("fill").valueOrDefault("black")),e.attributes.stroke=new a.Property("stroke",this.attribute("stroke").valueOrDefault("none")),e.children=this.children,e.render(b),b.restore(),"strokeWidth"==this.attribute("markerUnits").valueOrDefault("strokeWidth")&&b.scale(1/b.lineWidth,1/b.lineWidth),"auto"==this.attribute("orient").valueOrDefault("auto")&&b.rotate(-d),b.translate(-c.x,-c.y)}},a.Element.marker.prototype=new a.Element.ElementBase,a.Element.defs=function(b){this.base=a.Element.ElementBase,this.base(b),this.render=function(a){}},a.Element.defs.prototype=new a.Element.ElementBase,a.Element.GradientBase=function(b){this.base=a.Element.ElementBase,this.base(b),this.gradientUnits=this.attribute("gradientUnits").valueOrDefault("objectBoundingBox"),this.stops=[];for(var c=0;c1&&(this.offset=1);var c=this.style("stop-color");this.style("stop-opacity").hasValue()&&(c=c.addOpacity(this.style("stop-opacity").value)),this.color=c.value},a.Element.stop.prototype=new a.Element.ElementBase,a.Element.AnimateBase=function(b){this.base=a.Element.ElementBase,this.base(b),a.Animations.push(this),this.duration=0,this.begin=this.attribute("begin").toMilliseconds(),this.maxDuration=this.begin+this.attribute("dur").toMilliseconds(),this.getProperty=function(){var a=this.attribute("attributeType").value,b=this.attribute("attributeName").value;return"CSS"==a?this.parent.style(b,!0):this.parent.attribute(b,!0)},this.initialValue=null,this.initialUnits="",this.removed=!1,this.calcValue=function(){return""},this.update=function(a){if(null==this.initialValue&&(this.initialValue=this.getProperty().value,this.initialUnits=this.getProperty().getUnits()),this.duration>this.maxDuration){if("indefinite"!=this.attribute("repeatCount").value&&"indefinite"!=this.attribute("repeatDur").value)return"remove"!=this.attribute("fill").valueOrDefault("remove")||this.removed?!1:(this.removed=!0,this.getProperty().value=this.initialValue,!0);this.duration=0}this.duration=this.duration+a;var b=!1;if(this.beginc&&g.attribute("x").hasValue())break;e+=g.measureTextRecursive(a)}return-1*("end"==d?e:e/2)}return 0},this.renderChild=function(a,b,c){var d=b.children[c];d.attribute("x").hasValue()?d.x=d.attribute("x").toPixels("x")+this.getAnchorDelta(a,b,c):(this.attribute("dx").hasValue()&&(this.x+=this.attribute("dx").toPixels("x")),d.attribute("dx").hasValue()&&(this.x+=d.attribute("dx").toPixels("x")),d.x=this.x),this.x=d.x+d.measureText(a),d.attribute("y").hasValue()?d.y=d.attribute("y").toPixels("y"):(this.attribute("dy").hasValue()&&(this.y+=this.attribute("dy").toPixels("y")),d.attribute("dy").hasValue()&&(this.y+=d.attribute("dy").toPixels("y")),d.y=this.y),this.y=d.y,d.render(a);for(var c=0;c0&&" "!=b[c-1]&&c0&&" "!=b[c-1]&&(c==b.length-1||" "==b[c+1])&&(f="initial"),"undefined"!=typeof a.glyphs[d]&&(e=a.glyphs[d][f],null==e&&"glyph"==a.glyphs[d].type&&(e=a.glyphs[d]))}else e=a.glyphs[d];return null==e&&(e=a.missingGlyph),e},this.renderChildren=function(b){var c=this.parent.style("font-family").getDefinition();if(null==c)""!=b.fillStyle&&b.fillText(a.compressSpaces(this.getText()),this.x,this.y),""!=b.strokeStyle&&b.strokeText(a.compressSpaces(this.getText()),this.x,this.y);else{var d=this.parent.style("font-size").numValueOrDefault(a.Font.Parse(a.ctx.font).fontSize),e=this.parent.style("font-style").valueOrDefault(a.Font.Parse(a.ctx.font).fontStyle),f=this.getText();c.isRTL&&(f=f.split("").reverse().join(""));for(var g=a.ToNumberArray(this.parent.attribute("dx").value),h=0;h0)for(var s=q[r].indexOf("url"),t=q[r].indexOf(")",s),u=q[r].substr(s+5,t-s-6),v=a.parseXml(a.ajax(u)),w=v.getElementsByTagName("font"),x=0;xe;e++)for(var b=0;f>b;b++){var i=c(h.data,b,e,f,g,0),j=c(h.data,b,e,f,g,1),k=c(h.data,b,e,f,g,2),l=(i+j+k)/3;d(h.data,b,e,f,g,0,l),d(h.data,b,e,f,g,1,l),d(h.data,b,e,f,g,2,l)}a.clearRect(0,0,f,g),a.putImageData(h,0,0)}},a.Element.feColorMatrix.prototype=new a.Element.ElementBase,a.Element.feGaussianBlur=function(b){this.base=a.Element.ElementBase,this.base(b),this.blurRadius=Math.floor(this.attribute("stdDeviation").numValue()),this.extraFilterDistance=this.blurRadius,this.apply=function(b,c,d,e,f){return"undefined"==typeof stackBlurCanvasRGBA?void("undefined"!=typeof console&&console.log("ERROR: StackBlur.js must be included for blur to work")):(b.canvas.id=a.UniqueId(),b.canvas.style.display="none",document.body.appendChild(b.canvas),stackBlurCanvasRGBA(b.canvas.id,c,d,e,f,this.blurRadius),void document.body.removeChild(b.canvas))}},a.Element.feGaussianBlur.prototype=new a.Element.ElementBase,a.Element.title=function(a){},a.Element.title.prototype=new a.Element.ElementBase,a.Element.desc=function(a){},a.Element.desc.prototype=new a.Element.ElementBase,a.Element.MISSING=function(a){"undefined"!=typeof console&&console.log("ERROR: Element '"+a.nodeName+"' not yet implemented.")},a.Element.MISSING.prototype=new a.Element.ElementBase,a.CreateElement=function(b){var c=b.nodeName.replace(/^[^:]+:/,"");c=c.replace(/\-/g,"");var d=null;return d="undefined"!=typeof a.Element[c]?new a.Element[c](b):new a.Element.MISSING(b),d.type=b.nodeName,d},a.load=function(b,c){a.loadXml(b,a.ajax(c))},a.loadXml=function(b,c){a.loadXmlDoc(b,a.parseXml(c))},a.loadXmlDoc=function(b,c){a.init(b);var d=function(a){for(var c=b.canvas;c;)a.x-=c.offsetLeft,a.y-=c.offsetTop,c=c.offsetParent;return window.scrollX&&(a.x+=window.scrollX),window.scrollY&&(a.y+=window.scrollY),a};1!=a.opts.ignoreMouse&&(b.canvas.onclick=function(b){var c=d(new a.Point(null!=b?b.clientX:event.clientX,null!=b?b.clientY:event.clientY));a.Mouse.onclick(c.x,c.y)},b.canvas.onmousemove=function(b){var c=d(new a.Point(null!=b?b.clientX:event.clientX,null!=b?b.clientY:event.clientY));a.Mouse.onmousemove(c.x,c.y)});var e=a.CreateElement(c.documentElement);e.root=!0;var f=!0,g=function(){a.ViewPort.Clear(),b.canvas.parentNode&&a.ViewPort.SetCurrent(b.canvas.parentNode.clientWidth,b.canvas.parentNode.clientHeight),1!=a.opts.ignoreDimensions&&(e.style("width").hasValue()&&(b.canvas.width=e.style("width").toPixels("x"),b.canvas.style.width=b.canvas.width+"px"),e.style("height").hasValue()&&(b.canvas.height=e.style("height").toPixels("y"),b.canvas.style.height=b.canvas.height+"px"));var d=b.canvas.clientWidth||b.canvas.width,g=b.canvas.clientHeight||b.canvas.height;if(1==a.opts.ignoreDimensions&&e.style("width").hasValue()&&e.style("height").hasValue()&&(d=e.style("width").toPixels("x"),g=e.style("height").toPixels("y")),a.ViewPort.SetCurrent(d,g),null!=a.opts.offsetX&&(e.attribute("x",!0).value=a.opts.offsetX),null!=a.opts.offsetY&&(e.attribute("y",!0).value=a.opts.offsetY),null!=a.opts.scaleWidth&&null!=a.opts.scaleHeight){var h=1,i=1,j=a.ToNumberArray(e.attribute("viewBox").value);e.attribute("width").hasValue()?h=e.attribute("width").toPixels("x")/a.opts.scaleWidth:isNaN(j[2])||(h=j[2]/a.opts.scaleWidth),e.attribute("height").hasValue()?i=e.attribute("height").toPixels("y")/a.opts.scaleHeight:isNaN(j[3])||(i=j[3]/a.opts.scaleHeight),e.attribute("width",!0).value=a.opts.scaleWidth,e.attribute("height",!0).value=a.opts.scaleHeight,e.attribute("viewBox",!0).value="0 0 "+d*h+" "+g*i,e.attribute("preserveAspectRatio",!0).value="none"}1!=a.opts.ignoreClear&&b.clearRect(0,0,d,g),e.render(b),f&&(f=!1,"function"==typeof a.opts.renderCallback&&a.opts.renderCallback(c))},h=!0;a.ImagesLoaded()&&(h=!1,g()),a.intervalID=setInterval(function(){var b=!1;if(h&&a.ImagesLoaded()&&(h=!1,b=!0),1!=a.opts.ignoreMouse&&(b|=a.Mouse.hasEvents()),1!=a.opts.ignoreAnimation)for(var c=0;c-1&&(this.residuals=!0),a.indexOf("F_res_")>-1&&(d=a)}),d3.keys(c.data[0]).filter(function(a){if($.inArray(a,c.toIgnore)>-1)c.data.forEach(function(b){delete b[a]});else{if(b.test(c.data[1][a]))c.data.forEach(function(b){b[a]=new Date(b[a])}),c.col_date.push(a);else if("{"==c.data[1][a].charAt(0))c.data.forEach(function(b){for(var c=b[a].substring(1,b[a].length-1),d=c.split(";"),e=d.length-1;e>=0;e--)if("B_NEC"==a){var f;switch(e){case 0:f="B_N";break;case 1:f="B_E";break;case 2:f="B_C"}this.residuals||(b[f]=parseFloat(d[e]))}else if(a.indexOf("B_NEC_res_")>-1){var f,g=a.replace("B_NEC_res_","");switch(e){case 0:f="B_N_res_"+g;break;case 1:f="B_E_res_"+g;break;case 2:f="B_C_res_"+g}b[f]=parseFloat(d[e])}delete b[a]});else{var d=+c.data[1][a];isNaN(d)?c.col_ordinal.push(a):c.data.forEach(function(b){b[a]=+b[a]})}this.residuals&&"F"==a&&c.data.forEach(function(b){delete b[a]})}}),c.initData()},scatterPlot.prototype.initData=function(){var a=[],b=this;d3.keys(b.data[0]).filter(function(c){if(null!=b.sel_y)for(var d=0;d-1?(c.replace("NEC","N")==b.sel_y[d]||c.replace("NEC","E")==b.sel_y[d]||c.replace("NEC","C")==b.sel_y[d])&&a.push(b.sel_y[d]):c==b.sel_y[d]&&a.push(b.sel_y[d])}),(null==this.sel_y||0==a.length)&&(this.residuals?a=[res_key]:d3.keys(b.data[0])[5]&&(a=[d3.keys(b.data[0])[5]])),this.sel_y=a,b.parameter_colors=d3.scale.ordinal().domain(d3.keys(b.data[0])).range(b.parameter_color_range),b.data.forEach(function(a){a.active=1}),b.headerNames=d3.keys(b.data[0]),b.headerNames.sort(),b.identifiers=d3.set(b.data.map(function(a){return a.id})).values(),b.colors=d3.scale.ordinal().domain(b.identifiers).range(d3.scale.category10().range());for(var c=b.toIgnore.length-1;c>=0;c--){var d=b.headerNames.indexOf(b.toIgnore[c]);d>-1&&b.headerNames.splice(d,1)}var e=null;b.headerNames.indexOf(b.sel_x)>-1&&(e=b.sel_x),e?b.sel_x=e:b.sel_x="Latitude",b.active_brushes.length>0&&_.each(b.data,function(a){active=!0,b.active_brushes.forEach(function(c){a.hasOwnProperty(c)&&(b.brush_extents[c][0]<=a[c]&&a[c]<=b.brush_extents[c][1]||(active=!1))}),a.active=active?1:0})},scatterPlot.prototype.render=function(){function a(){k.select(".x.axis").call(o),k.select(".y.axis").call(w),c()}function b(a){k.selectAll(".dot_"+a).data(d.data).enter().append("circle").attr("class","area").attr("clip-path","url(#clip)").attr("class","dot_"+a).style("display",function(a){return a.active?null:"none"}).attr("r",3.5).attr("cx",function(a){return m(a[d.sel_x])}).attr("cy",function(b){return u(b[a])}).style("fill",function(b){return d.parameter_colors(a)}).style("stroke",function(a){return d.colors(a.id)}).on("mouseover",function(a){$(this).attr("r",7)}).on("click",function(a){null!=d.selectedpoint&&(d.selectedpoint.attr("r",3.5),d.selectedpoint=null),d.openinfo(a),d.selectedpoint=$(this);var b="";for(var c in a)propValue=a[c],b=b+c+": "+propValue+"
      ";d.tooltip.transition().duration(100).style("display","block"),d.tooltip.html(b).style("left",d3.event.pageX+10+"px").style("top",d3.event.pageY+3+"px");var e=d.tooltip.append("text").text("X").attr("style","position:absolute; right:13px; top:4px; cursor:pointer;").attr("font-family","sans-serif").attr("font-size","20px");e.on("click",function(){d.tooltip.transition().duration(100).style("display","none"),d.selectedpoint.attr("r",3.5),d.selectedpoint=null,d.openinfo(null)}),$(document).on("mousedown",function(a){"circle"!=a.target.nodeName&&"point-tooltip"!=a.target.className&&d.selectedpoint&&(d.tooltip.transition().duration(100).style("display","none"),d.selectedpoint.attr("r",3.5),d.selectedpoint=null,d.openinfo(null))})}).on("mouseout",function(a){null==d.selectedpoint?$(this).attr("r",3.5):d.selectedpoint[0]!==$(this)[0]&&$(this).attr("r",3.5)})}function c(){var a=$(d.scatterEl).width()-d.margin.left-d.margin.right,b=$(d.scatterEl).height()-d.margin.top-d.margin.bottom;d.height=b,d.width=a,y.attr("width",a).attr("height",b-d.margin.bottom),k.select("rect").attr("width",a).attr("height",b),m.range([0,a]),u.range([b-d.margin.bottom,0]);for(var c=d.sel_y.length-1;c>=0;c--){var e=k.select(".legend_"+d.sel_y[c]);e.select("circle").attr("cx",a-15),e.select("text").attr("x",a-24)}k.select(".x.axis").select(".label").attr("x",a-10),d.grid_active?(k.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#D3D3D3"),o.tickSize(-(b-d.margin.bottom)),w.tickSize(-a)):(o.tickSize(5),w.tickSize(5),k.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000")),k.select(".x.axis").attr("transform","translate(0,"+(b-d.margin.bottom)+")").call(o),k.select(".y.axis").call(w);for(var c=d.sel_y.length-1;c>=0;c--)k.selectAll(".dot_"+d.sel_y[c]).attr("cx",function(a){return m(a[d.sel_x])}).attr("cy",function(a){return u(a[d.sel_y[c]])})}var d=this,e=$(this.scatterEl).width()-this.margin.left-this.margin.right,f=$(this.scatterEl).height()-this.margin.top-this.margin.bottom;this.height=f,this.width=e;for(var g=this.sel_y.length-1;g>=0;g--){var h=this.sel_y[g];d3.select("svg").selectAll(".dot_"+h).remove()}if(d3.select("#save").remove(),d3.select("#pngdataurl").remove(),d3.select("#grid").remove(),d3.selectAll(".SumoSelect").remove(),d3.select(this.scatterEl).selectAll("*").remove(),d3.select("body").append("canvas").attr("id","imagerenderer").attr("width",$(this.scatterEl).width()).attr("height",$(this.scatterEl).height()).attr("style","display: none"),d3.select("body").append("div").attr("id","pngdataurl"),d3.select(this.scatterEl).append("button").attr("type","button").attr("class","btn btn-success").attr("id","save").attr("style","position: absolute; right: 149px; top: 7px").text("Save as Image"),d3.select("#save").on("click",function(){var a=d3.select(".scatter").attr("version",1.1).attr("xmlns","http://www.w3.org/2000/svg").node().innerHTML,b=document.querySelector("#imagerenderer"),c=b.getContext("2d");c.drawSvg(a,0,0,d.width,d.height);var e=d3.select("#pngdataurl").append("a")[0][0];e.download="Analytics.png",e.href=b.toDataURL("image/png"),e.click(),d3.select("#pngdataurl").selectAll("*").remove()}),this.gridselector=d3.select(this.scatterEl).append("button").attr("type","button").attr("class","btn btn-success").attr("id","grid").attr("style","position: absolute; right: 275px; top: 7px").text("Toggle Grid"),d3.select(this.scatterEl).append("button").attr("type","button").attr("class","btn btn-success").attr("id","download_button").attr("style","position: absolute; right: 55px; top: 7px").text("Download"),this.showDropDownSelection){var i=d3.select(this.scatterEl).insert("div").attr("style","position: absolute;margin-left:"+(this.margin.left+10)+"px; margin-top:"+(this.margin.top-40)+"px;").append("select").attr("multiple","multiple");i.selectAll("option").data(this.headerNames).enter().append("option").text(function(a){-1!=d.sel_y.indexOf(a)&&d3.select(this).attr("selected","selected");var b="",c=a.split("_");if(c.length>1){b=c[0];for(var e=1;e1){b=c[0];for(var e=1;e=0;c--)b+=Math.exp(a[d.sel_x][c]);b=Math.sqrt(b),q.push(b)}),m.domain(d3.extent(q,function(a){return a})).nice()}else if(-1!=this.col_ordinal.indexOf(this.sel_x))m.domain(this.data.map(function(a){return a[d.sel_x]}));else if(-1!=this.col_date.indexOf(this.sel_x)){var r=d3.extent(this.data,function(a){return a[d.sel_x]}),s=Math.abs(r[1].getTime()-r[0].getTime())/100*5,t=[new Date(r[0].getTime()-s),new Date(r[1].getTime()+s)];m.domain(t)}else{var r=d3.extent(this.data,function(a){return a[d.sel_x]}),s=Math.abs(r[1]-r[0])/100*5,t=[r[0]-s,r[1]+s];m.domain(t)}for(var u,v,w=d3.svg.axis().scale(u).orient("left").tickFormat(v),g=this.sel_y.length-1;g>=0;g--){var r;r=-1!=this.col_ordinal.indexOf(p)?this.data.map(function(a){return a[p]}):d3.extent(this.data,function(a){return a[p]}),r[0]>u.domain()[0]&&0!=u.domain()[0]&&(r[0]=u.domain()[0]),r[1]1){z=""+A[0]+"";for(var g=1;g "+A[g]+""}}else z=this.sel_x;k.append("g").attr("class","x axis").attr("transform","translate(0,"+(f-this.margin.bottom)+")").call(o).append("text").attr("class","label").attr("x",e-10).attr("y",-10).style("text-anchor","end").html(z);for(var C=[],g=0;g1?A.join(" "):this.sel_y[g],C.push(z)}C=C.join("; "),C=C.replace(/(?!^)dy="5"/g,""),k.append("g").attr("class","y axis").call(w).append("text").attr("class","label").attr("x",-10).attr("transform","rotate(-90)").attr("y",6).attr("dy","1em").style("text-anchor","end").html(C),k.selectAll(".axis .domain").attr("stroke-width","2").attr("stroke","#000").attr("shape-rendering","crispEdges").attr("fill","none"),k.selectAll(".axis path").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000"),d.grid_active?(k.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#D3D3D3"),o.tickSize(-(f-d.margin.bottom)),w.tickSize(-e)):(o.tickSize(5),w.tickSize(5),k.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000")),k.select(".x.axis").call(o),k.select(".y.axis").call(w);for(var g=this.sel_y.length-1;g>=0;g--)b(this.sel_y[g]);for(var D=20*this.sel_y.length,g=this.sel_y.length-1;g>=0;g--){var E=k.selectAll(".legend_"+d.sel_y[g]).data(this.identifiers).enter().append("g").attr("class","legend_"+d.sel_y[g]).attr("transform",function(a,b){return"translate(0,"+(g*D+20*b)+")"});E.append("circle").attr("cx",e-15).attr("cy",9).attr("r",4).style("fill",function(a){return d.parameter_colors(d.sel_y[g])}).style("stroke",function(a){return d.colors(a)}),E.append("text").attr("x",e-24).attr("y",9).attr("dy",".35em").style("text-anchor","end").text(function(a){return a+" - "+d.sel_y[g]})}k.selectAll("text").style("font","400 13px Arial"),k.selectAll("text").style("fill","black"),k.selectAll("text").style("stroke","none"),$(window).resize(c)},scatterPlot.prototype.substractComponents=function(a,b,c){this.data.forEach(function(c){c[a+"-"+b]=c[a]-c[b]}),this.render()},scatterPlot.prototype.absolute=function(a,b){this.data.forEach(function(c){c.id==a&&(c[b]=Math.abs(c[b]))}),this.render()},scatterPlot.prototype.colatitude=function(a){this.data.forEach(function(a){a.Latitude<0&&(a.Latitude=90-a.Latitude)}),this.render()},scatterPlot.prototype.parallelsPlot=function(){function a(a){c.active_brushes=c.parameters.filter(function(a){return!c.y[a].brush.empty()}),c.brush_extents={},c.active_brushes.map(function(a){c.brush_extents[a]=c.y[a].brush.extent()});var b,d={};_.each(c.data,function(a){b=!0,c.active_brushes.forEach(function(e){d[e]=c.brush_extents[e],c.brush_extents[e][0]<=a[e]&&a[e]<=c.brush_extents[e][1]||(b=!1)}),a.active=b?1:0}),c.filterset(d),c.render(),c.parallelsPlot()}function b(){var a=$(c.histoEl).width()-c.histoMargin.left-c.histoMargin.right,b=$(c.histoEl).height()-c.histoMargin.top-c.histoMargin.bottom;c.x.rangePoints([0,a]);var d=c.hist_data,e=c.y;c.parameters.forEach(function(a){e[a].range([b,0]);f.selectAll("."+a).data(c.hist_data[a]).attr("transform",function(f){return"translate("+c.x(a)+","+(e[a](f.x)-b/d[a].length)+")"})}),f.selectAll(".trait").data(c.parameters).attr("transform",function(a){return"translate("+c.x(a)+")"}),f.selectAll(".axis").data(c.parameters).each(function(a){d3.select(this).call(c.axis.scale(e[a]))})}if(this.histoEl){var c=this;this.parameters=this.headerNames.slice(0),d3.selectAll(".brush").remove(),d3.select("#reset_filters").remove(),this.parameters.forEach(function(a){var b=d3.select(c.histoEl).select("svg");b.selectAll("."+a).remove(),b.selectAll(".trait."+a).remove()}),$(this.histoEl).empty();_.each(this.col_vec.concat("Timestamp").concat("active").concat("F_wmm2010"),function(a){var b=c.parameters.indexOf(a);b>-1&&c.parameters.splice(b,1)}),_.each(c.toIgnoreHistogram,function(a){var b=c.parameters.indexOf(a);b>-1&&c.parameters.splice(b,1)});var d=$(this.histoEl).width()-this.histoMargin.left-this.histoMargin.right,e=$(this.histoEl).height()-this.histoMargin.top-this.histoMargin.bottom;this.x_hist={},this.hist_data={},this.y={},this.x=d3.scale.ordinal().domain(c.parameters).rangePoints([0,d]),this.axis=d3.svg.axis().orient("left");d3.svg.line();this.axis.tickFormat(d3.format(".3g"));var f=d3.select(this.histoEl).append("svg").attr("class","parallels").attr("width",d).attr("height",e).append("g").attr("display","block").attr("transform","translate("+this.histoMargin.left+","+this.histoMargin.top+")");d3.select(this.histoEl).append("button").attr("type","button").attr("class","btn btn-success").attr("disabled",!0).attr("id","reset_filters").attr("style","position: absolute; left: 62px; top:-30px;").text("Reset Filters"),c.active_brushes.length>0&&d3.select("#reset_filters").attr("disabled",null),d3.select("#reset_filters").on("click",function(){c.active_brushes=[],c.filterset({}),_.each(c.data,function(a){a.active=!0}),c.parallelsPlot(),c.render()});var c=this;c.svg=f,c.parameters.forEach(function(b){-1!=c.col_ordinal.indexOf(b)?c.y[b]=d3.scale.ordinal().rangePoints([e,0]).domain(c.data.map(function(a){return a[b]})):c.y[b]=d3.scale.linear().range([e,0]).domain(d3.extent(c.data,function(a){return a[b]})).nice(),c.y[b].brush=d3.svg.brush().y(c.y[b]).on("brushend",a).on("brush",function(a){var b=c.svg.selectAll(".trait."+a).selectAll(".resize.n"),d=c.svg.selectAll(".trait."+a).selectAll(".resize.s"),e=c.y[a].brush.extent(),f=d3.format(".02f");b.select("text").remove(),d.select("text").remove(),b.append("text").text(f(e[1])).style("transform","translate(15px,0px)"),d.append("text").text(f(e[0])).style("transform","translate(15px,0px)")});var d=[];_.each(c.data,function(a){a.active&&d.push(a[b])}),-1!=c.col_ordinal.indexOf(b)?c.hist_data[b]=d3.layout.histogram()(d.map(function(a){return a[b]})):c.hist_data[b]=d3.layout.histogram().bins(c.y[b].ticks(60))(d),d=null,c.x_hist[b]=d3.scale.linear().domain([0,d3.max(c.hist_data[b],function(a){return a.length})]).range([0,40])});var g=[];c.active_brushes.forEach(function(a){c.y.hasOwnProperty(a)?c.y[a].brush.extent(c.brush_extents[a]):g.push(a)});for(var h=g.length-1;h>=0;h--){var i=c.active_brushes.indexOf(g[h]);i>-1&&c.active_brushes.splice(i,1)}if(g.length>0){var j={};c.active_brushes.forEach(function(a){j[a]=c.brush_extents[a]}),c.filterset(j)}c.parameters.forEach(function(a){var b=f.selectAll("."+a).data(c.hist_data[a]).enter().append("g").attr("class","bar "+a).attr("transform",function(b){return"translate("+c.x(a)+","+(c.y[a](b.x)-e/c.hist_data[a].length)+")"});b.append("rect").attr("height",e/c.hist_data[a].length-1).attr("width",function(b){return c.x_hist[a](b.y)}).style("fill","#1F77B4")});var k=f.selectAll(".trait").data(c.parameters).enter().append("svg:g").attr("class",function(a){return"trait "+a}).attr("transform",function(a){return"translate("+c.x(a)+")"});k.append("svg:g").attr("class","axis").each(function(a){d3.select(this).call(c.axis.scale(c.y[a]))}).append("svg:text").attr("text-anchor","middle").attr("y",-12).html(function(a){var b="",c=a.split("_");if(c.length>1){b=""+c[0]+"";for(var d=1;d "+c[d]+""}}else b=a;return b}),f.selectAll(".axis .domain").attr("stroke-width","2").attr("stroke","#000").attr("shape-rendering","crispEdges").attr("fill","none"),f.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000"),f.selectAll(".axis path").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000"),k.append("svg:g").attr("class","brush").each(function(a){d3.select(this).call(c.y[a].brush)}).selectAll("rect").attr("x",-8).attr("width",16);var c=this;$(window).resize(b)}}; \ No newline at end of file +a.Element.feColorMatrix=function(b){function c(a,b,c,d,e,f){return a[c*d*4+4*b+f]}function d(a,b,c,d,e,f,g){a[c*d*4+4*b+f]=g}this.base=a.Element.ElementBase,this.base(b),this.apply=function(a,b,e,f,g){for(var h=a.getImageData(0,0,f,g),e=0;g>e;e++)for(var b=0;f>b;b++){var i=c(h.data,b,e,f,g,0),j=c(h.data,b,e,f,g,1),k=c(h.data,b,e,f,g,2),l=(i+j+k)/3;d(h.data,b,e,f,g,0,l),d(h.data,b,e,f,g,1,l),d(h.data,b,e,f,g,2,l)}a.clearRect(0,0,f,g),a.putImageData(h,0,0)}},a.Element.feColorMatrix.prototype=new a.Element.ElementBase,a.Element.feGaussianBlur=function(b){this.base=a.Element.ElementBase,this.base(b),this.blurRadius=Math.floor(this.attribute("stdDeviation").numValue()),this.extraFilterDistance=this.blurRadius,this.apply=function(b,c,d,e,f){return"undefined"==typeof stackBlurCanvasRGBA?void("undefined"!=typeof console&&console.log("ERROR: StackBlur.js must be included for blur to work")):(b.canvas.id=a.UniqueId(),b.canvas.style.display="none",document.body.appendChild(b.canvas),stackBlurCanvasRGBA(b.canvas.id,c,d,e,f,this.blurRadius),void document.body.removeChild(b.canvas))}},a.Element.feGaussianBlur.prototype=new a.Element.ElementBase,a.Element.title=function(a){},a.Element.title.prototype=new a.Element.ElementBase,a.Element.desc=function(a){},a.Element.desc.prototype=new a.Element.ElementBase,a.Element.MISSING=function(a){"undefined"!=typeof console&&console.log("ERROR: Element '"+a.nodeName+"' not yet implemented.")},a.Element.MISSING.prototype=new a.Element.ElementBase,a.CreateElement=function(b){var c=b.nodeName.replace(/^[^:]+:/,"");c=c.replace(/\-/g,"");var d=null;return d="undefined"!=typeof a.Element[c]?new a.Element[c](b):new a.Element.MISSING(b),d.type=b.nodeName,d},a.load=function(b,c){a.loadXml(b,a.ajax(c))},a.loadXml=function(b,c){a.loadXmlDoc(b,a.parseXml(c))},a.loadXmlDoc=function(b,c){a.init(b);var d=function(a){for(var c=b.canvas;c;)a.x-=c.offsetLeft,a.y-=c.offsetTop,c=c.offsetParent;return window.scrollX&&(a.x+=window.scrollX),window.scrollY&&(a.y+=window.scrollY),a};1!=a.opts.ignoreMouse&&(b.canvas.onclick=function(b){var c=d(new a.Point(null!=b?b.clientX:event.clientX,null!=b?b.clientY:event.clientY));a.Mouse.onclick(c.x,c.y)},b.canvas.onmousemove=function(b){var c=d(new a.Point(null!=b?b.clientX:event.clientX,null!=b?b.clientY:event.clientY));a.Mouse.onmousemove(c.x,c.y)});var e=a.CreateElement(c.documentElement);e.root=!0;var f=!0,g=function(){a.ViewPort.Clear(),b.canvas.parentNode&&a.ViewPort.SetCurrent(b.canvas.parentNode.clientWidth,b.canvas.parentNode.clientHeight),1!=a.opts.ignoreDimensions&&(e.style("width").hasValue()&&(b.canvas.width=e.style("width").toPixels("x"),b.canvas.style.width=b.canvas.width+"px"),e.style("height").hasValue()&&(b.canvas.height=e.style("height").toPixels("y"),b.canvas.style.height=b.canvas.height+"px"));var d=b.canvas.clientWidth||b.canvas.width,g=b.canvas.clientHeight||b.canvas.height;if(1==a.opts.ignoreDimensions&&e.style("width").hasValue()&&e.style("height").hasValue()&&(d=e.style("width").toPixels("x"),g=e.style("height").toPixels("y")),a.ViewPort.SetCurrent(d,g),null!=a.opts.offsetX&&(e.attribute("x",!0).value=a.opts.offsetX),null!=a.opts.offsetY&&(e.attribute("y",!0).value=a.opts.offsetY),null!=a.opts.scaleWidth&&null!=a.opts.scaleHeight){var h=1,i=1,j=a.ToNumberArray(e.attribute("viewBox").value);e.attribute("width").hasValue()?h=e.attribute("width").toPixels("x")/a.opts.scaleWidth:isNaN(j[2])||(h=j[2]/a.opts.scaleWidth),e.attribute("height").hasValue()?i=e.attribute("height").toPixels("y")/a.opts.scaleHeight:isNaN(j[3])||(i=j[3]/a.opts.scaleHeight),e.attribute("width",!0).value=a.opts.scaleWidth,e.attribute("height",!0).value=a.opts.scaleHeight,e.attribute("viewBox",!0).value="0 0 "+d*h+" "+g*i,e.attribute("preserveAspectRatio",!0).value="none"}1!=a.opts.ignoreClear&&b.clearRect(0,0,d,g),e.render(b),f&&(f=!1,"function"==typeof a.opts.renderCallback&&a.opts.renderCallback(c))},h=!0;a.ImagesLoaded()&&(h=!1,g()),a.intervalID=setInterval(function(){var b=!1;if(h&&a.ImagesLoaded()&&(h=!1,b=!0),1!=a.opts.ignoreMouse&&(b|=a.Mouse.hasEvents()),1!=a.opts.ignoreAnimation)for(var c=0;c-1&&(this.residuals=!0),a.indexOf("F_res_")>-1&&(d=a)}),d3.keys(c.data[0]).filter(function(a){if($.inArray(a,c.toIgnore)>-1)c.data.forEach(function(b){delete b[a]});else{if(b.test(c.data[1][a]))c.data.forEach(function(b){b[a]=new Date(b[a])}),c.col_date.push(a);else if("{"==c.data[1][a].charAt(0))c.data.forEach(function(b){for(var c=b[a].substring(1,b[a].length-1),d=c.split(";"),e=d.length-1;e>=0;e--)if("B_NEC"==a){var f;switch(e){case 0:f="B_N";break;case 1:f="B_E";break;case 2:f="B_C"}this.residuals||(b[f]=parseFloat(d[e]))}else if(a.indexOf("B_NEC_res_")>-1){var f,g=a.replace("B_NEC_res_","");switch(e){case 0:f="B_N_res_"+g;break;case 1:f="B_E_res_"+g;break;case 2:f="B_C_res_"+g}b[f]=parseFloat(d[e])}delete b[a]});else{var d=+c.data[1][a];isNaN(d)?c.col_ordinal.push(a):c.data.forEach(function(b){b[a]=+b[a]})}this.residuals&&"F"==a&&c.data.forEach(function(b){delete b[a]})}}),c.initData()},scatterPlot.prototype.initData=function(){var a=[],b=this;d3.keys(b.data[0]).filter(function(c){if(null!=b.sel_y)for(var d=0;d-1?(c.replace("NEC","N")==b.sel_y[d]||c.replace("NEC","E")==b.sel_y[d]||c.replace("NEC","C")==b.sel_y[d])&&a.push(b.sel_y[d]):c==b.sel_y[d]&&a.push(b.sel_y[d])}),(null==this.sel_y||0==a.length)&&(this.residuals?a=[res_key]:d3.keys(b.data[0])[5]&&(a=[d3.keys(b.data[0])[5]])),this.sel_y=a,b.parameter_colors=d3.scale.ordinal().domain(d3.keys(b.data[0])).range(b.parameter_color_range),b.data.forEach(function(a){a.active=1}),b.headerNames=d3.keys(b.data[0]),b.headerNames.sort(),b.identifiers=d3.set(b.data.map(function(a){return a.id})).values(),b.colors=d3.scale.ordinal().domain(b.identifiers).range(d3.scale.category10().range());for(var c=b.toIgnore.length-1;c>=0;c--){var d=b.headerNames.indexOf(b.toIgnore[c]);d>-1&&b.headerNames.splice(d,1)}var e=null;b.headerNames.indexOf(b.sel_x)>-1&&(e=b.sel_x),e?b.sel_x=e:b.sel_x="Latitude",b.active_brushes.length>0&&_.each(b.data,function(a){active=!0,b.active_brushes.forEach(function(c){a.hasOwnProperty(c)&&(b.brush_extents[c][0]<=a[c]&&a[c]<=b.brush_extents[c][1]||(active=!1))}),a.active=active?1:0})},scatterPlot.prototype.render=function(){function a(){k.select(".x.axis").call(o),k.select(".y.axis").call(w),c()}function b(a){k.selectAll(".dot_"+a).data(d.data).enter().append("circle").attr("class","area").attr("clip-path","url(#clip)").attr("class","dot_"+a).style("display",function(a){return a.active?null:"none"}).attr("r",3.5).attr("cx",function(a){return m(a[d.sel_x])}).attr("cy",function(b){return u(b[a])}).style("fill",function(b){return d.parameter_colors(a)}).style("stroke",function(a){return d.colors(a.id)}).on("mouseover",function(a){$(this).attr("r",7)}).on("click",function(a){null!=d.selectedpoint&&(d.selectedpoint.attr("r",3.5),d.selectedpoint=null),d.openinfo(a),d.selectedpoint=$(this);var b="";for(var c in a)propValue=a[c],b=b+c+": "+propValue+"
      ";d.tooltip.transition().duration(100).style("display","block"),d.tooltip.html(b).style("left",d3.event.pageX+10+"px").style("top",d3.event.pageY+3+"px");var e=d.tooltip.append("text").text("X").attr("style","position:absolute; right:13px; top:4px; cursor:pointer;").attr("font-family","sans-serif").attr("font-size","20px");e.on("click",function(){d.tooltip.transition().duration(100).style("display","none"),d.selectedpoint.attr("r",3.5),d.selectedpoint=null,d.openinfo(null)}),$(document).on("mousedown",function(a){"circle"!=a.target.nodeName&&"AV-point-tooltip"!=a.target.className&&d.selectedpoint&&(d.tooltip.transition().duration(100).style("display","none"),d.selectedpoint.attr("r",3.5),d.selectedpoint=null,d.openinfo(null))})}).on("mouseout",function(a){null==d.selectedpoint?$(this).attr("r",3.5):d.selectedpoint[0]!==$(this)[0]&&$(this).attr("r",3.5)})}function c(){var a=$(d.scatterEl).width()-d.margin.left-d.margin.right,b=$(d.scatterEl).height()-d.margin.top-d.margin.bottom;d.height=b,d.width=a,y.attr("width",a).attr("height",b-d.margin.bottom),k.select("rect").attr("width",a).attr("height",b),m.range([0,a]),u.range([b-d.margin.bottom,0]);for(var c=d.sel_y.length-1;c>=0;c--){var e=k.select(".legend_"+d.sel_y[c]);e.select("circle").attr("cx",a-15),e.select("text").attr("x",a-24)}k.select(".x.axis").select(".label").attr("x",a-10),d.grid_active?(k.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#D3D3D3"),o.tickSize(-(b-d.margin.bottom)),w.tickSize(-a)):(o.tickSize(5),w.tickSize(5),k.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000")),k.select(".x.axis").attr("transform","translate(0,"+(b-d.margin.bottom)+")").call(o),k.select(".y.axis").call(w);for(var c=d.sel_y.length-1;c>=0;c--)k.selectAll(".dot_"+d.sel_y[c]).attr("cx",function(a){return m(a[d.sel_x])}).attr("cy",function(a){return u(a[d.sel_y[c]])})}var d=this,e=$(this.scatterEl).width()-this.margin.left-this.margin.right,f=$(this.scatterEl).height()-this.margin.top-this.margin.bottom;this.height=f,this.width=e;for(var g=this.sel_y.length-1;g>=0;g--){var h=this.sel_y[g];d3.select("svg").selectAll(".dot_"+h).remove()}if(d3.select("#save").remove(),d3.select("#pngdataurl").remove(),d3.select("#grid").remove(),d3.selectAll(".SumoSelect").remove(),d3.select(this.scatterEl).selectAll("*").remove(),d3.select("body").append("canvas").attr("id","imagerenderer").attr("width",$(this.scatterEl).width()).attr("height",$(this.scatterEl).height()).attr("style","display: none"),d3.select("body").append("div").attr("id","pngdataurl"),d3.select(this.scatterEl).append("button").attr("type","button").attr("class","btn btn-success").attr("id","save").attr("style","position: absolute; right: 149px; top: 7px").text("Save as Image"),d3.select("#save").on("click",function(){var a=d3.select(".scatter").attr("version",1.1).attr("xmlns","http://www.w3.org/2000/svg").node().innerHTML,b=document.querySelector("#imagerenderer"),c=b.getContext("2d");c.drawSvg(a,0,0,d.width,d.height);var e=d3.select("#pngdataurl").append("a")[0][0];e.download="Analytics.png",e.href=b.toDataURL("image/png"),e.click(),d3.select("#pngdataurl").selectAll("*").remove()}),this.gridselector=d3.select(this.scatterEl).append("button").attr("type","button").attr("class","btn btn-success").attr("id","grid").attr("style","position: absolute; right: 275px; top: 7px").text("Toggle Grid"),d3.select(this.scatterEl).append("button").attr("type","button").attr("class","btn btn-success").attr("id","download_button").attr("style","position: absolute; right: 55px; top: 7px").text("Download"),this.showDropDownSelection){var i=d3.select(this.scatterEl).insert("div").attr("style","position: absolute;margin-left:"+(this.margin.left+10)+"px; margin-top:"+(this.margin.top-40)+"px;").append("select").attr("multiple","multiple");i.selectAll("option").data(this.headerNames).enter().append("option").text(function(a){-1!=d.sel_y.indexOf(a)&&d3.select(this).attr("selected","selected");var b="",c=a.split("_");if(c.length>1){b=c[0];for(var e=1;e1){b=c[0];for(var e=1;e=0;c--)b+=Math.exp(a[d.sel_x][c]);b=Math.sqrt(b),q.push(b)}),m.domain(d3.extent(q,function(a){return a})).nice()}else if(-1!=this.col_ordinal.indexOf(this.sel_x))m.domain(this.data.map(function(a){return a[d.sel_x]}));else if(-1!=this.col_date.indexOf(this.sel_x)){var r=d3.extent(this.data,function(a){return a[d.sel_x]}),s=Math.abs(r[1].getTime()-r[0].getTime())/100*5,t=[new Date(r[0].getTime()-s),new Date(r[1].getTime()+s)];m.domain(t)}else{var r=d3.extent(this.data,function(a){return a[d.sel_x]}),s=Math.abs(r[1]-r[0])/100*5,t=[r[0]-s,r[1]+s];m.domain(t)}for(var u,v,w=d3.svg.axis().scale(u).orient("left").tickFormat(v),g=this.sel_y.length-1;g>=0;g--){var r;r=-1!=this.col_ordinal.indexOf(p)?this.data.map(function(a){return a[p]}):d3.extent(this.data,function(a){return a[p]}),r[0]>u.domain()[0]&&0!=u.domain()[0]&&(r[0]=u.domain()[0]),r[1]1){z=""+A[0]+"";for(var g=1;g "+A[g]+""}}else z=this.sel_x;k.append("g").attr("class","x axis").attr("transform","translate(0,"+(f-this.margin.bottom)+")").call(o).append("text").attr("class","label").attr("x",e-10).attr("y",-10).style("text-anchor","end").html(z);for(var C=[],g=0;g1?A.join(" "):this.sel_y[g],C.push(z)}C=C.join("; "),C=C.replace(/(?!^)dy="5"/g,""),k.append("g").attr("class","y axis").call(w).append("text").attr("class","label").attr("x",-10).attr("transform","rotate(-90)").attr("y",6).attr("dy","1em").style("text-anchor","end").html(C),k.selectAll(".axis .domain").attr("stroke-width","2").attr("stroke","#000").attr("shape-rendering","crispEdges").attr("fill","none"),k.selectAll(".axis path").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000"),d.grid_active?(k.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#D3D3D3"),o.tickSize(-(f-d.margin.bottom)),w.tickSize(-e)):(o.tickSize(5),w.tickSize(5),k.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000")),k.select(".x.axis").call(o),k.select(".y.axis").call(w);for(var g=this.sel_y.length-1;g>=0;g--)b(this.sel_y[g]);for(var D=20*this.sel_y.length,g=this.sel_y.length-1;g>=0;g--){var E=k.selectAll(".legend_"+d.sel_y[g]).data(this.identifiers).enter().append("g").attr("class","legend_"+d.sel_y[g]).attr("transform",function(a,b){return"translate(0,"+(g*D+20*b)+")"});E.append("circle").attr("cx",e-15).attr("cy",9).attr("r",4).style("fill",function(a){return d.parameter_colors(d.sel_y[g])}).style("stroke",function(a){return d.colors(a)}),E.append("text").attr("x",e-24).attr("y",9).attr("dy",".35em").style("text-anchor","end").text(function(a){return a+" - "+d.sel_y[g]})}k.selectAll("text").style("font","400 13px Arial"),k.selectAll("text").style("fill","black"),k.selectAll("text").style("stroke","none"),$(window).resize(c)},scatterPlot.prototype.substractComponents=function(a,b,c){this.data.forEach(function(c){c[a+"-"+b]=c[a]-c[b]}),this.render()},scatterPlot.prototype.absolute=function(a,b){this.data.forEach(function(c){c.id==a&&(c[b]=Math.abs(c[b]))}),this.render()},scatterPlot.prototype.colatitude=function(a){this.data.forEach(function(a){a.Latitude<0&&(a.Latitude=90-a.Latitude)}),this.render()},scatterPlot.prototype.parallelsPlot=function(){function a(a){c.active_brushes=c.parameters.filter(function(a){return!c.y[a].brush.empty()}),c.brush_extents={},c.active_brushes.map(function(a){c.brush_extents[a]=c.y[a].brush.extent()});var b,d={};_.each(c.data,function(a){b=!0,c.active_brushes.forEach(function(e){d[e]=c.brush_extents[e],c.brush_extents[e][0]<=a[e]&&a[e]<=c.brush_extents[e][1]||(b=!1)}),a.active=b?1:0}),c.filterset(d),c.render(),c.parallelsPlot()}function b(){var a=$(c.histoEl).width()-c.histoMargin.left-c.histoMargin.right,b=$(c.histoEl).height()-c.histoMargin.top-c.histoMargin.bottom;c.x.rangePoints([0,a]);var d=c.hist_data,e=c.y;c.parameters.forEach(function(a){e[a].range([b,0]);f.selectAll("."+a).data(c.hist_data[a]).attr("transform",function(f){return"translate("+c.x(a)+","+(e[a](f.x)-b/d[a].length)+")"})}),f.selectAll(".trait").data(c.parameters).attr("transform",function(a){return"translate("+c.x(a)+")"}),f.selectAll(".axis").data(c.parameters).each(function(a){d3.select(this).call(c.axis.scale(e[a]))})}if(this.histoEl){var c=this;this.parameters=this.headerNames.slice(0),d3.select(c.histoEl).selectAll(".brush").remove(),d3.select("#reset_filters").remove(),this.parameters.forEach(function(a){var b=d3.select(c.histoEl).select("svg");b.selectAll("."+a).remove(),b.selectAll(".trait."+a).remove()}),$(this.histoEl).empty();_.each(this.col_vec.concat("Timestamp").concat("active").concat("F_wmm2010"),function(a){var b=c.parameters.indexOf(a);b>-1&&c.parameters.splice(b,1)}),_.each(c.toIgnoreHistogram,function(a){var b=c.parameters.indexOf(a);b>-1&&c.parameters.splice(b,1)});var d=$(this.histoEl).width()-this.histoMargin.left-this.histoMargin.right,e=$(this.histoEl).height()-this.histoMargin.top-this.histoMargin.bottom;this.x_hist={},this.hist_data={},this.y={},this.x=d3.scale.ordinal().domain(c.parameters).rangePoints([0,d]),this.axis=d3.svg.axis().orient("left");d3.svg.line();this.axis.tickFormat(d3.format(".3g"));var f=d3.select(this.histoEl).append("svg").attr("class","parallels").attr("width",d).attr("height",e).append("g").attr("display","block").attr("transform","translate("+this.histoMargin.left+","+this.histoMargin.top+")");d3.select(this.histoEl).append("button").attr("type","button").attr("class","btn btn-success").attr("disabled",!0).attr("id","reset_filters").attr("style","position: absolute; left: 62px; top:-30px;").text("Reset Filters"),c.active_brushes.length>0&&d3.select("#reset_filters").attr("disabled",null),d3.select("#reset_filters").on("click",function(){c.active_brushes=[],c.filterset({}),_.each(c.data,function(a){a.active=!0}),c.parallelsPlot(),c.render()});var c=this;c.svg=f,c.parameters.forEach(function(b){-1!=c.col_ordinal.indexOf(b)?c.y[b]=d3.scale.ordinal().rangePoints([e,0]).domain(c.data.map(function(a){return a[b]})):c.y[b]=d3.scale.linear().range([e,0]).domain(d3.extent(c.data,function(a){return a[b]})).nice(),c.y[b].brush=d3.svg.brush().y(c.y[b]).on("brushend",a).on("brush",function(a){var b=c.svg.selectAll(".trait."+a).selectAll(".resize.n"),d=c.svg.selectAll(".trait."+a).selectAll(".resize.s"),e=c.y[a].brush.extent(),f=d3.format(".02f");b.select("text").remove(),d.select("text").remove(),b.append("text").text(f(e[1])).style("transform","translate(15px,0px)"),d.append("text").text(f(e[0])).style("transform","translate(15px,0px)")});var d=[];_.each(c.data,function(a){a.active&&d.push(a[b])}),-1!=c.col_ordinal.indexOf(b)?c.hist_data[b]=d3.layout.histogram()(d.map(function(a){return a[b]})):c.hist_data[b]=d3.layout.histogram().bins(c.y[b].ticks(60))(d),d=null,c.x_hist[b]=d3.scale.linear().domain([0,d3.max(c.hist_data[b],function(a){return a.length})]).range([0,40])});var g=[];c.active_brushes.forEach(function(a){c.y.hasOwnProperty(a)?c.y[a].brush.extent(c.brush_extents[a]):g.push(a)});for(var h=g.length-1;h>=0;h--){var i=c.active_brushes.indexOf(g[h]);i>-1&&c.active_brushes.splice(i,1)}if(g.length>0){var j={};c.active_brushes.forEach(function(a){j[a]=c.brush_extents[a]}),c.filterset(j)}c.parameters.forEach(function(a){var b=f.selectAll("."+a).data(c.hist_data[a]).enter().append("g").attr("class","bar "+a).attr("transform",function(b){return"translate("+c.x(a)+","+(c.y[a](b.x)-e/c.hist_data[a].length)+")"});b.append("rect").attr("height",e/c.hist_data[a].length-1).attr("width",function(b){return c.x_hist[a](b.y)}).style("fill","#1F77B4")});var k=f.selectAll(".trait").data(c.parameters).enter().append("svg:g").attr("class",function(a){return"trait "+a}).attr("transform",function(a){return"translate("+c.x(a)+")"});k.append("svg:g").attr("class","axis").each(function(a){d3.select(this).call(c.axis.scale(c.y[a]))}).append("svg:text").attr("text-anchor","middle").attr("y",-12).html(function(a){var b="",c=a.split("_");if(c.length>1){b=""+c[0]+"";for(var d=1;d "+c[d]+""}}else b=a;return b}),f.selectAll(".axis .domain").attr("stroke-width","2").attr("stroke","#000").attr("shape-rendering","crispEdges").attr("fill","none"),f.selectAll(".axis line").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000"),f.selectAll(".axis path").attr("stroke-width","2").attr("shape-rendering","crispEdges").attr("stroke","#000"),k.append("svg:g").attr("class","brush").each(function(a){d3.select(this).call(c.y[a].brush)}).selectAll("rect").attr("x",-8).attr("width",16);var c=this;$(window).resize(b)}}; \ No newline at end of file