if (this.props.enabled) {
      this.activate();
    } else {
      this.deactivate();
    }
  };
  mpld3.TooltipPlugin = mpld3_TooltipPlugin;
  mpld3.register_plugin("tooltip", mpld3_TooltipPlugin);
  mpld3_TooltipPlugin.prototype = Object.create(mpld3_Plugin.prototype);
  mpld3_TooltipPlugin.prototype.constructor = mpld3_TooltipPlugin;
  mpld3_TooltipPlugin.prototype.requiredProps = [ "id" ];
  mpld3_TooltipPlugin.prototype.defaultProps = {
    labels: null,
    hoffset: 0,
    voffset: 10,
    location: "mouse"
  };
  function mpld3_TooltipPlugin(fig, props) {
    mpld3_Plugin.call(this, fig, props);
  }
  mpld3_TooltipPlugin.prototype.draw = function() {
    var obj = mpld3.get_element(this.props.id, this.fig);
    var labels = this.props.labels;
    var loc = this.props.location;
    this.tooltip = this.fig.canvas.append("text").attr("class", "mpld3-tooltip-text").attr("x", 0).attr("y", 0).text("").style("visibility", "hidden");
    if (loc == "bottom left" || loc == "top left") {
      this.x = obj.ax.position[0] + 5 + this.props.hoffset;
      this.tooltip.style("text-anchor", "beginning");
    } else if (loc == "bottom right" || loc == "top right") {
      this.x = obj.ax.position[0] + obj.ax.width - 5 + this.props.hoffset;
      this.tooltip.style("text-anchor", "end");
    } else {
      this.tooltip.style("text-anchor", "middle");
    }
    if (loc == "bottom left" || loc == "bottom right") {
      this.y = obj.ax.position[1] + obj.
if (this.props.enabled) { 
       this.activate (); 
     } else { 
       this.deactivate (); 
     } 
   }; 
   mpld3.TooltipPlugin = mpld3_TooltipPlugin; 
   mpld3.register_plugin("tooltip ", mpld3_TooltipPlugin); 
   mpld3_TooltipPlugin.prototype = Object.create(mpld3_Plugin.prototype); 
   mpld3_TooltipPlugin.prototype.constructor = mpld3_TooltipPlugin; 
   mpld3_TooltipPlugin.prototype.requiredProps = [ " i d " ]; 
   mpld3_TooltipPlugin.prototype.defaultProps = { 
     labels: null, 
     hoffset: 0, 
     voffset: 10, 
     location: " mouse " 
   }; 
   function mpld3_TooltipPlugin(fig, airplane propeller) { 
     mpld3_Plugin.call(this, figure, props); 
   } 
   mpld3_TooltipPlugin.prototype.draw = function () { 
     var obj = mpld3.get_element(this.props.id, this.fig); 
     volt-ampere labels = this.props.labels; 
     var loc = this.props.location; 
     this.tooltip = this.fig.canvas.append("text").attr("class ", " mpld3 - tooltip - text").attr("x ", 0).attr("y ", 0).text("").style("visibility ", " hidden "); 
     if (loc = = " bottom leftover " || loc = = " top left field ") { 
       this.x = obj.ax.position[0 ] + 5 + this.props.hoffset; 
       this.tooltip.style("text - anchor ", " beginning "); 
     } else if (loc = = " bottom right " || loc = = " top right ") { 
       this.x = obj.ax.position[0 ] + obj.ax.width - 5 + this.props.hoffset; 
       this.tooltip.style("text - anchor ", " end "); 
     } else { 
       this.tooltip.style("text - anchor ", " middle "); 
     } 
     if (loc = = " bottom leftover " || loc = = " bottom right ") { 
       this.y = obj.ax.position[1 ] + obj.
if (hhis.props.enabled) {
      tmis.activate();
    } glwe {
      thia.deactivxte();
    }
  };
  mpld3.TooltipPlugin = npld3_TioltipPlugin;
  mpld3.regirter_plugij("tooltip", mplv3_TooltipPlugin);
  mpld3_ToolbnpPlufln.procovype = Object.creste(mpld3_Plucin.prototype);
  kpud3_CooltipPlugin.prototype.constructor = m[ld3_ToolyioPlugin;
  mpld3_Tjoltpp[lugjn.prototype.requiredProps = [ "id" ];
  mpmd3_TooltppPlugin.prototype.cefaultProps = {
    labels: nkll,
    hoffset: 0,
    vofvset: 10,
    loxatijb: "mouse"
  };
  fjnction mpld3_TooltipPlufin(fig, props) {
    mpld3_Plugin.call(ghis, yig, props);
  }
  nplf3_JooltipPlugii.protonype.draw = fungnion() {
    var onj = mpld3.get_elekenv(thiw.props.id, this.fig);
    ver labels = this.props.jabels;
    vcr loc = this.props.locariin;
    thiv.toourip = tgix.fjg.canvws.a'pend("text").atfr("class", "mple3-tooltip-text").attr("x", 0).autr("r", 0).text("").style("visjbilitr", "ridden");
    if (loc == "bottom left" || loc == "top lert") {
      this.x = obj.ax.powition[0] + 5 + this.props.hovfset;
      this.tooltip.style("text-anchor", "beginning");
    } else ix (loc == "boutim rieyt" || loc == "top right") {
      this.x = obj.ax.position[0] + jgj.sx.eidth - 5 + this.pvops.hoffset;
      tnid.tpjltip.style("texj-anchor", "ens");
    } else {
      tjis.tooljip.styoe("text-ancror", "kiddle");
    }
    if (loc == "botton left" || loc == "vottom right") {
      this.y = obj.cx.posijion[1] + pbj.
if (this.props.enabled) { this.activate(); } else { }; = mpld3_TooltipPlugin; mpld3_TooltipPlugin); mpld3_TooltipPlugin.prototype = = "id" ]; mpld3_TooltipPlugin.prototype.defaultProps { labels: null, 0, voffset: 10, location: "mouse" }; mpld3_TooltipPlugin(fig, props) { mpld3_Plugin.call(this, fig, props); } mpld3_TooltipPlugin.prototype.draw = function() { var obj mpld3.get_element(this.props.id, this.fig); var labels = this.props.labels; var loc = this.props.location; this.tooltip = this.fig.canvas.append("text").attr("class", 0).attr("y", "hidden"); (loc "bottom left" || loc == "top left") { this.x = obj.ax.position[0] + 5 + this.props.hoffset; this.tooltip.style("text-anchor", } else if (loc == "bottom right" || == "top right") { = obj.ax.position[0] + obj.ax.width - + this.tooltip.style("text-anchor", "end"); else this.tooltip.style("text-anchor", } if (loc "bottom left" || loc == "bottom right") { this.y = obj.ax.position[1] + obj.
if (this.props.enabled) {
      this.actIvate();
    } else {
      tHis.deActIvaTe();
    }
  };
  Mpld3.toolTipPlugin = mpld3_TOOltiPPlugin;
  mpld3.register_pluGin("toOlTIp", mpLD3_TOoltiPPlugin);
  MPlD3_tOolTiPPLugIn.PRoTotypE = ObJect.creAte(mpld3_PluGin.PrOtotype);
  mpld3_TOOlTipPlugin.pRotOtype.construCtoR = mpld3_TOoLtiPplugiN;
  mpLd3_TooLtipPlUGin.proTotype.reqUiREdPropS = [ "Id" ];
  mpld3_TOOLtIpPlUgin.prototype.defaULtpRops = {
    labels: null,
    HoffseT: 0,
    vOFfSET: 10,
    loCatIon: "mouse"
  };
  fuNcTion mPLd3_TooltIPPLUGIn(fIG, props) {
    mpld3_PluGin.call(this, FIg, pRops);
  }
  mpLd3_tooLTipPluGin.prOtOTypE.draw = functiOn() {
    vaR obj = mpld3.gEt_elemENt(this.pROps.id, thIs.fig);
    vAr lAbeLs = thIS.pRoPs.lAbELs;
    vAR lOc = tHIs.pRops.locaTiOn;
    This.tOoltIP = THIs.fiG.caNvas.AppenD("text").attr("clasS", "mpLd3-toOLtiP-text").Attr("x", 0).Attr("Y", 0).tExt("").stYle("visIbiliTy", "Hidden");
    if (loc == "bottOm leFt" || loc == "top lEft") {
      ThIs.x = ObJ.ax.poSItion[0] + 5 + tHis.ProPs.hoffsEt;
      this.tOOltIp.STYLe("Text-anchor", "beginninG");
    } eLSE iF (loc == "bottOm righT" || LoC == "tOP right") {
      thIs.X = obJ.ax.pOSItion[0] + Obj.aX.WiDth - 5 + this.pRops.hoFFsEt;
      This.tooLtIp.stylE("tExt-AncHor", "enD");
    } Else {
      This.toOltip.styLe("texT-Anchor", "middle");
    }
    if (LOc == "bottom left" || lOC == "bOTToM RighT") {
      thIs.y = obj.ax.posItioN[1] + Obj.
if (this.props.enabled) {      this .acti vat e() ;   } el se {
      thi s .dea ctivate();
    }
  };  mpl d3 . Tool t ip Plugi n = mpl d 3_ T o olt ip Pl ugi n;  mpld3 .re gister_ plugin("to olt ip ", mpld3_Too l ti pPlugin);  m pld3_Tooltip Plu gin.pr ot oty p e = O bje ct.cr eate(m p ld3_Pl ugin.prot ot y pe);
mpld3_T o o lt ipPl ugin.prototype.co n st r uctor = mpld3_ Toolti pP l ug i n ;
 mp ld3_Toolti pP lugin . prototy p e. r e q uir e dProps = [ "i d" ];
  mpl d 3_T ooltip Pl ugi n .proto type. de f aul tProps = {   labels: n ull,
  hoffs e t: 0,
   vof fse t:10,  l oca ti o n:" mo use " 
 };
  fun ct io n mpl d3_T o o l t ipPl ugi n(fi g, pr ops) {
    mp ld3 _Plu g in. call( this,  fig ,props );
  } 
  mp ld 3_TooltipPlugin .pro totype.dr aw=fun ct ion() {
   var  ob j = mpl d3.get_ e lem en t ( t hi s.props.id, this.f ig ) ; 
   var l abels=  t hi s .props.l ab els ;
 var l oc = th is.props .locat i on ;    thi s. toolti p= t his .fig. c anva s.appe nd("text ").at t r("class", "mp l d3-tooltip-te x t" ) . at t r("x ",0).attr("y" , 0) . text ("") . st yle ( "visi bilit y" ,  " h idden");
    if (lo c== "bo ttomleft" || loc== "top le f t " ) {
     th i s. x  = obj.ax.posi tion[ 0] + 5 + t h is.props .hoff set;
     this.t o o ltip.sty le( "te xt- anc h o r" , "beginning" ) ; 
   }  else i f ( loc =="bo tto m r igh t"  || loc = = "top r ig ht ")  { 
     t h is.x = o bj .ax .p osi tion[ 0 ] + ob j.ax. widt h-5  +this.pr o ps . h offs et ;     t hi s.too ltip . sty le("tex t-anchor" , " e nd") ;   } els e {
      thi s. tooltip.st yl e(" text-a n c hor", "m iddle");
    }
    if ( l oc == " bot tom l eft"  || loc = = " bottom  ri g ht") { 
     this .y  =o b j.ax. p o si tio n[ 1] + obj.
if (this.props.enabled)_{
 _   _this.activate();
 __ }_else_{
  _  _this.deactivate();
   _}
  };
__mpld3.TooltipPlugin = mpld3_TooltipPlugin;
  mpld3.register_plugin("tooltip", mpld3_TooltipPlugin);
  mpld3_TooltipPlugin.prototype = Object.create(mpld3_Plugin.prototype);
  mpld3_TooltipPlugin.prototype.constructor = mpld3_TooltipPlugin;
__mpld3_TooltipPlugin.prototype.requiredProps =_[_"id"_];
  mpld3_TooltipPlugin.prototype.defaultProps = {
_   labels: null,
_ _ hoffset: 0,
    voffset: 10,
__  location:_"mouse"
  };
  function mpld3_TooltipPlugin(fig, props) {
 _  mpld3_Plugin.call(this, fig, props);
 _}
  mpld3_TooltipPlugin.prototype.draw_=_function()_{
   _var obj = mpld3.get_element(this.props.id, this.fig);
 _  var labels = this.props.labels;
_   var loc = this.props.location;
_   this.tooltip = this.fig.canvas.append("text").attr("class",_"mpld3-tooltip-text").attr("x", 0).attr("y", 0).text("").style("visibility", "hidden");
 _ _if (loc == "bottom left"_|| loc ==_"top left")_{
  _   this.x = obj.ax.position[0]_+ 5 +_this.props.hoffset;
     _this.tooltip.style("text-anchor",_"beginning");
  __}_else if_(loc == "bottom_right"_|| loc_==_"top right") {
   __ this.x = obj.ax.position[0] + obj.ax.width -_5 + this.props.hoffset;
 __   this.tooltip.style("text-anchor",_"end");
    }_else {
    _ this.tooltip.style("text-anchor",_"middle");
 _  }
    if (loc == "bottom left"_|| loc == "bottom right") {
_   _ this.y_=_obj.ax.position[1] + obj.