Changeset 57
- Timestamp:
- 29/08/06 21:05:59 (2 years ago)
- Files:
-
- plotkit/trunk/PlotKit/Layout.js (modified) (2 diffs)
- plotkit/trunk/PlotKit/PlotKit_Packed.js (modified) (51 diffs)
- plotkit/trunk/doc/PlotKit.Layout.html (modified) (1 diff)
- plotkit/trunk/doc/PlotKit.Layout.txt (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
plotkit/trunk/PlotKit/Layout.js
r56 r57 125 125 }; 126 126 127 PlotKit.Layout.prototype.addDatasetFromTable = function(name, tableElement, xcol, ycol ) {127 PlotKit.Layout.prototype.addDatasetFromTable = function(name, tableElement, xcol, ycol, lcol) { 128 128 var isNil = MochiKit.Base.isUndefinedOrNull; 129 129 var scrapeText = MochiKit.DOM.scrapeText; … … 134 134 if (isNil(ycol)) 135 135 ycol = 1; 136 if (isNil(lcol)) 137 lcol = -1; 136 138 137 139 var rows = tableElement.tBodies[0].rows; 138 140 var data = new Array(); 141 var labels = new Array(); 142 139 143 if (!isNil(rows)) { 140 144 for (var i = 0; i < rows.length; i++) { 141 145 data.push([parseFloat(strip(scrapeText(rows[i].cells[xcol]))), 142 146 parseFloat(strip(scrapeText(rows[i].cells[ycol])))]); 147 if (lcol >= 0){ 148 labels.push({v: parseFloat(strip(scrapeText(rows[i].cells[xcol]))), 149 label: strip(scrapeText(rows[i].cells[lcol]))}); 150 } 143 151 } 144 152 this.addDataset(name, data); 153 if (lcol >= 0) { 154 this.options.xTicks = labels; 155 } 145 156 return true; 146 157 } plotkit/trunk/PlotKit/PlotKit_Packed.js
r56 r57 304 304 delete this.datasets[_46]; 305 305 }; 306 PlotKit.Layout.prototype.addDatasetFromTable=function(_48,_49,_50,_51 ){307 var _5 2=MochiKit.Base.isUndefinedOrNull;308 var _5 3=MochiKit.DOM.scrapeText;309 var _5 4=MochiKit.Format.strip;310 if(_5 2(_50)){306 PlotKit.Layout.prototype.addDatasetFromTable=function(_48,_49,_50,_51,_52){ 307 var _53=MochiKit.Base.isUndefinedOrNull; 308 var _54=MochiKit.DOM.scrapeText; 309 var _55=MochiKit.Format.strip; 310 if(_53(_50)){ 311 311 _50=0; 312 312 } 313 if(_5 2(_51)){313 if(_53(_51)){ 314 314 _51=1; 315 315 } 316 var _55=_49.tBodies[0].rows; 317 var _56=new Array(); 318 if(!_52(_55)){ 319 for(var i=0;i<_55.length;i++){ 320 _56.push([parseFloat(_54(_53(_55[i].cells[_50]))),parseFloat(_54(_53(_55[i].cells[_51])))]); 321 } 322 this.addDataset(_48,_56); 316 if(_53(_52)){ 317 _52=-1; 318 } 319 var _56=_49.tBodies[0].rows; 320 var _57=new Array(); 321 var _58=new Array(); 322 if(!_53(_56)){ 323 for(var i=0;i<_56.length;i++){ 324 _57.push([parseFloat(_55(_54(_56[i].cells[_50]))),parseFloat(_55(_54(_56[i].cells[_51])))]); 325 if(_52>=0){ 326 _58.push({v:parseFloat(_55(_54(_56[i].cells[_50]))),label:_55(_54(_56[i].cells[_52]))}); 327 } 328 } 329 this.addDataset(_48,_57); 330 if(_52>=0){ 331 this.options.xTicks=_58; 332 } 323 333 return true; 324 334 } … … 361 371 this._regenerateHitTestCache(); 362 372 } 363 var _6 0=x/this.xscale;364 var _6 1=this.hitTestCache.xvalues;365 var _6 2=null;366 var _6 3=null;367 for(var i=1;i<_6 1.length;i++){368 if(_6 1[i]>_60){369 _6 2=_61[i-1];370 _6 3=_61[i];373 var _62=x/this.xscale; 374 var _63=this.hitTestCache.xvalues; 375 var _64=null; 376 var _65=null; 377 for(var i=1;i<_63.length;i++){ 378 if(_63[i]>_62){ 379 _64=_63[i-1]; 380 _65=_63[i]; 371 381 break; 372 382 } 373 383 } 374 if((_6 2!=null)){375 var _6 4=this.hitTestCache.x2maxy[_62];376 var _6 5=this.hitTestCache.x2maxy[_63];377 var _6 6=(1-y)/this.yscale;378 var _6 7=(_65-_64)/(_63-_62);379 var _ 68=_64+_67*(_60-_62);380 if(_ 68>=_66){381 var obj={xval:_6 0,yval:_66,xafter:_63,yafter:_65,xbefore:_62,ybefore:_64,yprojected:_68};384 if((_64!=null)){ 385 var _66=this.hitTestCache.x2maxy[_64]; 386 var _67=this.hitTestCache.x2maxy[_65]; 387 var _68=(1-y)/this.yscale; 388 var _69=(_67-_66)/(_65-_64); 389 var _70=_66+_69*(_62-_64); 390 if(_70>=_68){ 391 var obj={xval:_62,yval:_68,xafter:_65,yafter:_67,xbefore:_64,ybefore:_66,yprojected:_70}; 382 392 return obj; 383 393 } … … 385 395 }else{ 386 396 if(this.style=="pie"){ 387 var _ 69=Math.sqrt((y-0.5)*(y-0.5)+(x-0.5)*(x-0.5));388 if(_ 69>this.options.pieRadius){397 var _71=Math.sqrt((y-0.5)*(y-0.5)+(x-0.5)*(x-0.5)); 398 if(_71>this.options.pieRadius){ 389 399 return null; 390 400 } 391 var _7 0=Math.atan2(y-0.5,x-0.5)-Math.PI/2;401 var _72=Math.atan2(y-0.5,x-0.5)-Math.PI/2; 392 402 for(var i=0;i<this.slices.length;i++){ 393 var _7 1=this.slices[i];394 if(_7 1.startAngle<_70&&_71.endAngle>=_70){395 return _7 1;403 var _73=this.slices[i]; 404 if(_73.startAngle<_72&&_73.endAngle>=_72){ 405 return _73; 396 406 } 397 407 } … … 409 419 PlotKit.Layout.prototype._evaluateLimits=function(){ 410 420 var map=PlotKit.Base.map; 411 var _7 3=PlotKit.Base.items;412 var _7 4=MochiKit.Base.itemgetter;413 var _7 5=PlotKit.Base.collapse;414 var _7 6=MochiKit.Base.listMin;415 var _7 7=MochiKit.Base.listMax;416 var _ 78=MochiKit.Base.isUndefinedOrNull;417 var all=_7 5(map(_74(1),_73(this.datasets)));418 if(_ 78(this.options.xAxis)){421 var _75=PlotKit.Base.items; 422 var _76=MochiKit.Base.itemgetter; 423 var _77=PlotKit.Base.collapse; 424 var _78=MochiKit.Base.listMin; 425 var _79=MochiKit.Base.listMax; 426 var _80=MochiKit.Base.isUndefinedOrNull; 427 var all=_77(map(_76(1),_75(this.datasets))); 428 if(_80(this.options.xAxis)){ 419 429 if(this.options.xOriginIsZero){ 420 430 this.minxval=0; 421 431 }else{ 422 this.minxval=_7 6(map(parseFloat,map(_74(0),all)));423 } 424 this.maxxval=_7 7(map(parseFloat,map(_74(0),all)));432 this.minxval=_78(map(parseFloat,map(_76(0),all))); 433 } 434 this.maxxval=_79(map(parseFloat,map(_76(0),all))); 425 435 }else{ 426 436 this.minxval=this.options.xAxis[0]; … … 428 438 this.xscale=this.maxval-this.minxval; 429 439 } 430 if(_ 78(this.options.yAxis)){440 if(_80(this.options.yAxis)){ 431 441 if(this.options.yOriginIsZero){ 432 442 this.minyval=0; 433 443 }else{ 434 this.minyval=_7 6(map(parseFloat,map(_74(1),all)));435 } 436 this.maxyval=_7 7(map(parseFloat,map(_74(1),all)));444 this.minyval=_78(map(parseFloat,map(_76(1),all))); 445 } 446 this.maxyval=_79(map(parseFloat,map(_76(1),all))); 437 447 }else{ 438 448 this.minyval=this.options.yAxis[0]; … … 442 452 }; 443 453 PlotKit.Layout.prototype._evaluateScales=function(){ 444 var _8 0=MochiKit.Base.isUndefinedOrNull;454 var _82=MochiKit.Base.isUndefinedOrNull; 445 455 this.xrange=this.maxxval-this.minxval; 446 456 if(this.xrange==0){ … … 457 467 }; 458 468 PlotKit.Layout.prototype._uniqueXValues=function(){ 459 var _8 1=PlotKit.Base.collapse;469 var _83=PlotKit.Base.collapse; 460 470 var map=PlotKit.Base.map; 461 var _8 2=PlotKit.Base.uniq;462 var _8 3=MochiKit.Base.itemgetter;463 var _8 4=PlotKit.Base.items;464 var _8 5=map(parseFloat,map(_83(0),_81(map(_83(1),_84(this.datasets)))));465 _8 5.sort(MochiKit.Base.compare);466 return _8 2(_85);471 var _84=PlotKit.Base.uniq; 472 var _85=MochiKit.Base.itemgetter; 473 var _86=PlotKit.Base.items; 474 var _87=map(parseFloat,map(_85(0),_83(map(_85(1),_86(this.datasets))))); 475 _87.sort(MochiKit.Base.compare); 476 return _84(_87); 467 477 }; 468 478 PlotKit.Layout.prototype._evaluateBarCharts=function(){ 469 var _86=PlotKit.Base.items; 470 var _87=_86(this.datasets).length; 471 var _88=10000000; 472 var _89=this._uniqueXValues(); 473 for(var i=1;i<_89.length;i++){ 474 _88=Math.min(Math.abs(_89[i]-_89[i-1]),_88); 475 } 476 var _90=0; 477 var _91=0; 479 var _88=PlotKit.Base.items; 480 var _89=_88(this.datasets).length; 481 var _90=10000000; 482 var _91=this._uniqueXValues(); 483 for(var i=1;i<_91.length;i++){ 484 _90=Math.min(Math.abs(_91[i]-_91[i-1]),_90); 485 } 478 486 var _92=0; 479 if(_89.length==1){ 480 _88=1; 487 var _93=0; 488 var _94=0; 489 if(_91.length==1){ 490 _90=1; 481 491 this.xscale=1; 482 this.minxval=_ 89[0];483 _9 0=1*this.options.barWidthFillFraction;484 _9 1=_90/_87;485 _9 2=(1-this.options.barWidthFillFraction)/2;492 this.minxval=_91[0]; 493 _92=1*this.options.barWidthFillFraction; 494 _93=_92/_89; 495 _94=(1-this.options.barWidthFillFraction)/2; 486 496 }else{ 487 497 if(this.xrange==1){ … … 491 501 this.xscale=1/3; 492 502 }else{ 493 this.xscale=(1-_ 88/this.xrange)/this.xrange;494 } 495 } 496 _9 0=_88*this.xscale*this.options.barWidthFillFraction;497 _9 1=_90/_87;498 _9 2=_88*this.xscale*(1-this.options.barWidthFillFraction)/2;499 } 500 this.minxdelta=_ 88;503 this.xscale=(1-_90/this.xrange)/this.xrange; 504 } 505 } 506 _92=_90*this.xscale*this.options.barWidthFillFraction; 507 _93=_92/_89; 508 _94=_90*this.xscale*(1-this.options.barWidthFillFraction)/2; 509 } 510 this.minxdelta=_90; 501 511 this.bars=new Array(); 502 512 var i=0; 503 for(var _9 3in this.datasets){504 var _9 4=this.datasets[_93];505 if(PlotKit.Base.isFuncLike(_9 4)){513 for(var _95 in this.datasets){ 514 var _96=this.datasets[_95]; 515 if(PlotKit.Base.isFuncLike(_96)){ 506 516 continue; 507 517 } 508 for(var j=0;j<_9 4.length;j++){509 var _9 6=_94[j];510 var _9 7={x:((parseFloat(_96[0])-this.minxval)*this.xscale)+(i*_91)+_92,y:1-((parseFloat(_96[1])-this.minyval)*this.yscale),w:_91,h:((parseFloat(_96[1])-this.minyval)*this.yscale),xval:parseFloat(_96[0]),yval:parseFloat(_96[1]),name:_93};511 if((_9 7.x>=0)&&(_97.x<=1)&&(_97.y>=0)&&(_97.y<=1)){512 this.bars.push(_9 7);518 for(var j=0;j<_96.length;j++){ 519 var _98=_96[j]; 520 var _99={x:((parseFloat(_98[0])-this.minxval)*this.xscale)+(i*_93)+_94,y:1-((parseFloat(_98[1])-this.minyval)*this.yscale),w:_93,h:((parseFloat(_98[1])-this.minyval)*this.yscale),xval:parseFloat(_98[0]),yval:parseFloat(_98[1]),name:_95}; 521 if((_99.x>=0)&&(_99.x<=1)&&(_99.y>=0)&&(_99.y<=1)){ 522 this.bars.push(_99); 513 523 } 514 524 } … … 517 527 }; 518 528 PlotKit.Layout.prototype._evaluateHorizBarCharts=function(){ 519 var _98=PlotKit.Base.items; 520 var _99=_98(this.datasets).length; 521 var _100=10000000; 522 var _101=this._uniqueXValues(); 523 for(var i=1;i<_101.length;i++){ 524 _100=Math.min(Math.abs(_101[i]-_101[i-1]),_100); 525 } 526 var _102=0; 527 var _103=0; 529 var _100=PlotKit.Base.items; 530 var _101=_100(this.datasets).length; 531 var _102=10000000; 532 var _103=this._uniqueXValues(); 533 for(var i=1;i<_103.length;i++){ 534 _102=Math.min(Math.abs(_103[i]-_103[i-1]),_102); 535 } 528 536 var _104=0; 529 if(_101.length==1){ 530 _100=1; 537 var _105=0; 538 var _106=0; 539 if(_103.length==1){ 540 _102=1; 531 541 this.xscale=1; 532 this.minxval=_10 1[0];533 _10 2=1*this.options.barWidthFillFraction;534 _10 3=_102/_99;535 _10 4=(1-this.options.barWidthFillFraction)/2;536 }else{ 537 this.xscale=(1-_10 0/this.xrange)/this.xrange;538 _10 2=_100*this.xscale*this.options.barWidthFillFraction;539 _10 3=_102/_99;540 _10 4=_100*this.xscale*(1-this.options.barWidthFillFraction)/2;541 } 542 this.minxdelta=_10 0;542 this.minxval=_103[0]; 543 _104=1*this.options.barWidthFillFraction; 544 _105=_104/_101; 545 _106=(1-this.options.barWidthFillFraction)/2; 546 }else{ 547 this.xscale=(1-_102/this.xrange)/this.xrange; 548 _104=_102*this.xscale*this.options.barWidthFillFraction; 549 _105=_104/_101; 550 _106=_102*this.xscale*(1-this.options.barWidthFillFraction)/2; 551 } 552 this.minxdelta=_102; 543 553 this.bars=new Array(); 544 554 var i=0; 545 for(var _10 5in this.datasets){546 var _10 6=this.datasets[_105];547 if(PlotKit.Base.isFuncLike(_10 6)){555 for(var _107 in this.datasets){ 556 var _108=this.datasets[_107]; 557 if(PlotKit.Base.isFuncLike(_108)){ 548 558 continue; 549 559 } 550 for(var j=0;j<_10 6.length;j++){551 var item=_10 6[j];552 var rect={y:((parseFloat(item[0])-this.minxval)*this.xscale)+(i*_10 3)+_104,x:0,h:_103,w:((parseFloat(item[1])-this.minyval)*this.yscale),xval:parseFloat(item[0]),yval:parseFloat(item[1]),name:_105};560 for(var j=0;j<_108.length;j++){ 561 var item=_108[j]; 562 var rect={y:((parseFloat(item[0])-this.minxval)*this.xscale)+(i*_105)+_106,x:0,h:_105,w:((parseFloat(item[1])-this.minyval)*this.yscale),xval:parseFloat(item[0]),yval:parseFloat(item[1]),name:_107}; 553 563 if(rect.y<=0){ 554 564 rect.y=0; … … 565 575 }; 566 576 PlotKit.Layout.prototype._evaluateLineCharts=function(){ 567 var _1 09=PlotKit.Base.items;568 var _11 0=_109(this.datasets).length;577 var _111=PlotKit.Base.items; 578 var _112=_111(this.datasets).length; 569 579 this.points=new Array(); 570 580 var i=0; 571 for(var _11 1in this.datasets){572 var _11 2=this.datasets[_111];573 if(PlotKit.Base.isFuncLike(_11 2)){581 for(var _113 in this.datasets){ 582 var _114=this.datasets[_113]; 583 if(PlotKit.Base.isFuncLike(_114)){ 574 584 continue; 575 585 } 576 _11 2.sort(function(a,b){586 _114.sort(function(a,b){ 577 587 return compare(parseFloat(a[0]),parseFloat(b[0])); 578 588 }); 579 for(var j=0;j<_11 2.length;j++){580 var item=_11 2[j];581 var _11 5={x:((parseFloat(item[0])-this.minxval)*this.xscale),y:1-((parseFloat(item[1])-this.minyval)*this.yscale),xval:parseFloat(item[0]),yval:parseFloat(item[1]),name:_111};582 if(_11 5.y<=0){583 _11 5.y=0;584 } 585 if(_11 5.y>=1){586 _11 5.y=1;587 } 588 if((_11 5.x>=0)&&(_115.x<=1)){589 this.points.push(_11 5);589 for(var j=0;j<_114.length;j++){ 590 var item=_114[j]; 591 var _117={x:((parseFloat(item[0])-this.minxval)*this.xscale),y:1-((parseFloat(item[1])-this.minyval)*this.yscale),xval:parseFloat(item[0]),yval:parseFloat(item[1]),name:_113}; 592 if(_117.y<=0){ 593 _117.y=0; 594 } 595 if(_117.y>=1){ 596 _117.y=1; 597 } 598 if((_117.x>=0)&&(_117.x<=1)){ 599 this.points.push(_117); 590 600 } 591 601 } … … 594 604 }; 595 605 PlotKit.Layout.prototype._evaluatePieCharts=function(){ 596 var _11 6=PlotKit.Base.items;606 var _118=PlotKit.Base.items; 597 607 var sum=MochiKit.Iter.sum; 598 var _1 18=MochiKit.Base.itemgetter;599 var _1 19=_116(this.datasets).length;600 var _12 0=_116(this.datasets)[0][1];601 var _12 1=sum(map(_118(1),_120));608 var _120=MochiKit.Base.itemgetter; 609 var _121=_118(this.datasets).length; 610 var _122=_118(this.datasets)[0][1]; 611 var _123=sum(map(_120(1),_122)); 602 612 this.slices=new Array(); 603 var _12 2=0;604 for(var i=0;i<_12 0.length;i++){605 var _12 3=_120[i][1]/_121;606 var _12 4=_122*Math.PI*2;607 var _12 5=(_122+_123)*Math.PI*2;608 var _12 6={fraction:_123,xval:_120[i][0],yval:_120[i][1],startAngle:_124,endAngle:_125};609 if(_12 0[i][1]!=0){610 this.slices.push(_12 6);611 } 612 _12 2+=_123;613 var _124=0; 614 for(var i=0;i<_122.length;i++){ 615 var _125=_122[i][1]/_123; 616 var _126=_124*Math.PI*2; 617 var _127=(_124+_125)*Math.PI*2; 618 var _128={fraction:_125,xval:_122[i][0],yval:_122[i][1],startAngle:_126,endAngle:_127}; 619 if(_122[i][1]!=0){ 620 this.slices.push(_128); 621 } 622 _124+=_125; 613 623 } 614 624 }; 615 625 PlotKit.Layout.prototype._evaluateLineTicksForXAxis=function(){ 616 var _12 7=MochiKit.Base.isUndefinedOrNull;626 var _129=MochiKit.Base.isUndefinedOrNull; 617 627 if(this.options.xTicks){ 618 628 this.xticks=new Array(); 619 var _1 28=function(tick){620 var _13 0=tick.label;621 if(_12 7(_130)){622 _13 0=tick.v.toString();629 var _130=function(tick){ 630 var _132=tick.label; 631 if(_129(_132)){ 632 _132=tick.v.toString(); 623 633 } 624 634 var pos=this.xscale*(tick.v-this.minxval); 625 635 if((pos>=0)&&(pos<=1)){ 626 this.xticks.push([pos,_13 0]);627 } 628 }; 629 MochiKit.Iter.forEach(this.options.xTicks,bind(_1 28,this));636 this.xticks.push([pos,_132]); 637 } 638 }; 639 MochiKit.Iter.forEach(this.options.xTicks,bind(_130,this)); 630 640 }else{ 631 641 if(this.options.xNumberOfTicks){ 632 var _13 2=this._uniqueXValues();633 var _13 3=this.xrange/this.options.xNumberOfTicks;634 var _13 4=0;642 var _134=this._uniqueXValues(); 643 var _135=this.xrange/this.options.xNumberOfTicks; 644 var _136=0; 635 645 this.xticks=new Array(); 636 for(var i=0;i<=_13 2.length;i++){637 if((_13 2[i]-this.minxval)>=(_134*_133)){638 var pos=this.xscale*(_13 2[i]-this.minxval);646 for(var i=0;i<=_134.length;i++){ 647 if((_134[i]-this.minxval)>=(_136*_135)){ 648 var pos=this.xscale*(_134[i]-this.minxval); 639 649 if((pos>1)||(pos<0)){ 640 650 continue; 641 651 } 642 this.xticks.push([pos,_13 2[i]]);643 _13 4++;644 } 645 if(_13 4>this.options.xNumberOfTicks){652 this.xticks.push([pos,_134[i]]); 653 _136++; 654 } 655 if(_136>this.options.xNumberOfTicks){ 646 656 break; 647 657 } … … 651 661 }; 652 662 PlotKit.Layout.prototype._evaluateLineTicksForYAxis=function(){ 653 var _13 5=MochiKit.Base.isUndefinedOrNull;663 var _137=MochiKit.Base.isUndefinedOrNull; 654 664 if(this.options.yTicks){ 655 665 this.yticks=new Array(); 656 var _13 6=function(tick){657 var _13 7=tick.label;658 if(_13 5(_137)){659 _13 7=tick.v.toString();666 var _138=function(tick){ 667 var _139=tick.label; 668 if(_137(_139)){ 669 _139=tick.v.toString(); 660 670 } 661 671 var pos=1-(this.yscale*(tick.v-this.minyval)); 662 672 if((pos>=0)&&(pos<=1)){ 663 this.yticks.push([pos,_13 7]);664 } 665 }; 666 MochiKit.Iter.forEach(this.options.yTicks,bind(_13 6,this));673 this.yticks.push([pos,_139]); 674 } 675 }; 676 MochiKit.Iter.forEach(this.options.yTicks,bind(_138,this)); 667 677 }else{ 668 678 if(this.options.yNumberOfTicks){ 669 679 this.yticks=new Array(); 670 var _1 38=PlotKit.Base.roundInterval;680 var _140=PlotKit.Base.roundInterval; 671 681 var prec=this.options.yTickPrecision; 672 var _14 0=_138(this.yrange,this.options.yNumberOfTicks,prec);682 var _142=_140(this.yrange,this.options.yNumberOfTicks,prec); 673 683 for(var i=0;i<=this.options.yNumberOfTicks;i++){ 674 var yval=this.minyval+(i*_14 0);684 var yval=this.minyval+(i*_142); 675 685 var pos=1-((yval-this.minyval)*this.yscale); 676 686 if((pos>1)||(pos<0)){ … … 688 698 PlotKit.Layout.prototype._evaluateBarTicks=function(){ 689 699 this._evaluateLineTicks(); 690 var _14 2=function(tick){700 var _144=function(tick){ 691 701 return [tick[0]+(this.minxdelta*this.xscale)/2,tick[1]]; 692 702 }; 693 this.xticks=MochiKit.Base.map(bind(_14 2,this),this.xticks);703 this.xticks=MochiKit.Base.map(bind(_144,this),this.xticks); 694 704 if(this.options.barOrientation=="horizontal"){ 695 var _14 3=this.xticks;705 var _145=this.xticks; 696 706 this.xticks=this.yticks; 697 this.yticks=_14 3;698 var _14 4=function(tick){707 this.yticks=_145; 708 var _146=function(tick){ 699 709 return [1-tick[0],tick[1]]; 700 710 }; 701 this.xticks=MochiKit.Base.map(_14 4,this.xticks);711 this.xticks=MochiKit.Base.map(_146,this.xticks); 702 712 } 703 713 }; 704 714 PlotKit.Layout.prototype._evaluatePieTicks=function(){ 705 var _14 5=MochiKit.Base.isUndefinedOrNull;706 var _14 6=MochiKit.Format.numberFormatter("#%");715 var _147=MochiKit.Base.isUndefinedOrNull; 716 var _148=MochiKit.Format.numberFormatter("#%"); 707 717 this.xticks=new Array(); 708 718 if(this.options.xTicks){ 709 var _14 7=new Array();719 var _149=new Array(); 710 720 for(var i=0;i<this.slices.length;i++){ 711 _14 7[this.slices[i].xval]=this.slices[i];721 _149[this.slices[i].xval]=this.slices[i]; 712 722 } 713 723 for(var i=0;i<this.options.xTicks.length;i++){ 714 724 var tick=this.options.xTicks[i]; 715 var _1 48=_147[tick.v];716 var _1 49=tick.label;717 if(_1 48){718 if(_14 5(_149)){719 _1 49=tick.v.toString();720 } 721 _1 49+=" ("+_146(_148.fraction)+")";722 this.xticks.push([tick.v,_1 49]);725 var _150=_149[tick.v]; 726 var _151=tick.label; 727 if(_150){ 728 if(_147(_151)){ 729 _151=tick.v.toString(); 730 } 731 _151+=" ("+_148(_150.fraction)+")"; 732 this.xticks.push([tick.v,_151]); 723 733 } 724 734 } 725 735 }else{ 726 736 for(var i=0;i<this.slices.length;i++){ 727 var _1 48=this.slices[i];728 var _1 49=_148.xval+" ("+_146(_148.fraction)+")";729 this.xticks.push([_1 48.xval,_149]);737 var _150=this.slices[i]; 738 var _151=_150.xval+" ("+_148(_150.fraction)+")"; 739 this.xticks.push([_150.xval,_151]); 730 740 } 731 741 } … … 735 745 this.hitTestCache.xlookup=new Array(); 736 746 this.hitTestCache.x2maxy=new Array(); 737 var _15 0=MochiKit.Base.listMax;738 var _15 1=MochiKit.Base.itemgetter;747 var _152=MochiKit.Base.listMax; 748 var _153=MochiKit.Base.itemgetter; 739 749 var map=MochiKit.Base.map; 740 var _15 2=keys(this.datasets);741 for(var i=0;i<_15 2.length;i++){742 var _15 3=this.datasets[_152[i]];743 for(var j=0;j<_15 3.length;j++){744 var xval=_15 3[j][0];745 var yval=_15 3[j][1];750 var _154=keys(this.datasets); 751 for(var i=0;i<_154.length;i++){ 752 var _155=this.datasets[_154[i]]; 753 for(var j=0;j<_155.length;j++){ 754 var xval=_155[j][0]; 755 var yval=_155[j][1]; 746 756 if(this.hitTestCache.xlookup[xval]){ 747 this.hitTestCache.xlookup[xval].push([yval,_15 2[i]]);748 }else{ 749 this.hitTestCache.xlookup[xval]=[[yval,_15 2[i]]];757 this.hitTestCache.xlookup[xval].push([yval,_154[i]]); 758 }else{ 759 this.hitTestCache.xlookup[xval]=[[yval,_154[i]]]; 750 760 } 751 761 } 752 762 } 753 763 for(var x in this.hitTestCache.xlookup){ 754 var _15 5=this.hitTestCache.xlookup[x];755 this.hitTestCache.x2maxy[x]=_15 0(map(_151(0),_155));764 var _157=this.hitTestCache.xlookup[x]; 765 this.hitTestCache.x2maxy[x]=_152(map(_153(0),_157)); 756 766 } 757 767 }; … … 786 796 return this.__repr__(); 787 797 }; 788 PlotKit.CanvasRenderer=function(_15 6,_157,_158){798 PlotKit.CanvasRenderer=function(_158,_159,_160){ 789 799 if(arguments.length>0){ 790 this.__init__(_15 6,_157,_158);791 } 792 }; 793 PlotKit.CanvasRenderer.prototype.__init__=function(_1 59,_160,_161){794 var _16 2=MochiKit.Base.isUndefinedOrNull;795 var _16 3=MochiKit.Color.Color;796 this.options={"drawBackground":true,"backgroundColor":_16 3.whiteColor(),"padding":{left:30,right:30,top:5,bottom:10},"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[0]),"strokeColor":_163.whiteColor(),"strokeColorTransform":"asStrokeColor","strokeWidth":0.5,"shouldFill":true,"shouldStroke":true,"drawXAxis":true,"drawYAxis":true,"axisLineColor":_163.blackColor(),"axisLineWidth":0.5,"axisTickSize":3,"axisLabelColor":_163.blackColor(),"axisLabelFont":"Arial","axisLabelFontSize":9,"axisLabelWidth":50,"pieRadius":0.4,"enableEvents":true};797 MochiKit.Base.update(this.options,_16 1?_161:{});798 this.layout=_16 0;799 this.element=MochiKit.DOM.getElement(_1 59);800 this.__init__(_158,_159,_160); 801 } 802 }; 803 PlotKit.CanvasRenderer.prototype.__init__=function(_161,_162,_163){ 804 var _164=MochiKit.Base.isUndefinedOrNull; 805 var _165=MochiKit.Color.Color; 806 this.options={"drawBackground":true,"backgroundColor":_165.whiteColor(),"padding":{left:30,right:30,top:5,bottom:10},"colorScheme":PlotKit.Base.palette(PlotKit.Base.baseColors()[0]),"strokeColor":_165.whiteColor(),"strokeColorTransform":"asStrokeColor","strokeWidth":0.5,"shouldFill":true,"shouldStroke":true,"drawXAxis":true,"drawYAxis":true,"axisLineColor":_165.blackColor(),"axisLineWidth":0.5,"axisTickSize":3,"axisLabelColor":_165.blackColor(),"axisLabelFont":"Arial","axisLabelFontSize":9,"axisLabelWidth":50,"pieRadius":0.4,"enableEvents":true}; 807 MochiKit.Base.update(this.options,_163?_163:{}); 808 this.layout=_162; 809 this.element=MochiKit.DOM.getElement(_161); 800 810 this.container=this.element.parentNode; 801 811 this.isIE=PlotKit.Base.excanvasSupported(); 802 if(this.isIE&&!_16 2(G_vmlCanvasManager)){812 if(this.isIE&&!_164(G_vmlCanvasManager)){ 803 813 this.IEDelay=0.5; 804 814 this.maxTries=5; … … 809 819 this.height=this.element.height; 810 820 this.width=this.element.width; 811 if(_16 2(this.element)){821 if(_164(this.element)){ 812 822 throw "CanvasRenderer() - passed canvas is not found"; 813 823 } … … 815 825 throw "CanvasRenderer() - Canvas is not supported."; 816 826 } 817 if(_16 2(this.container)||(this.container.nodeName.toLowerCase()!="div")){827 if(_164(this.container)||(this.container.nodeName.toLowerCase()!="div")){ 818 828 throw "CanvasRenderer() - <canvas> needs to be enclosed in <div>"; 819 829 } … … 839 849 this.renderDelay=null; 840 850 } 841 var _16 4=this.element.getContext("2d");851 var _166=this.element.getContext("2d"); 842 852 } 843 853 catch(e){ … … 868 878 } 869 879 }; 870 PlotKit.CanvasRenderer.prototype._renderBarChartWrap=function(data,_16 6){871 var _16 7=this.element.getContext("2d");872 var _1 68=this.options.colorScheme.length;873 var _1 69=this.options.colorScheme;874 var _17 0=MochiKit.Base.keys(this.layout.datasets);875 var _17 1=_170.length;876 for(var i=0;i<_17 1;i++){877 var _17 2=_170[i];878 var _17 3=_169[i%_168];879 _16 7.save();880 _16 7.fillStyle=_173.toRGBString();880 PlotKit.CanvasRenderer.prototype._renderBarChartWrap=function(data,_168){ 881 var _169=this.element.getContext("2d"); 882 var _170=this.options.colorScheme.length; 883 var _171=this.options.colorScheme; 884 var _172=MochiKit.Base.keys(this.layout.datasets); 885 var _173=_172.length; 886 for(var i=0;i<_173;i++){ 887 var _174=_172[i]; 888 var _175=_171[i%_170]; 889 _169.save(); 890 _169.fillStyle=_175.toRGBString(); 881 891 if(this.options.strokeColor){ 882 _16 7.strokeStyle=this.options.strokeColor.toRGBString();892 _169.strokeStyle=this.options.strokeColor.toRGBString(); 883 893 }else{ 884 894 if(this.options.strokeColorTransform){ 885 _16 7.strokeStyle=_173[this.options.strokeColorTransform]().toRGBString();886 } 887 } 888 _16 7.lineWidth=this.options.strokeWidth;889 var _17 4=function(obj){890 if(obj.name==_17 2){891 _16 6(_167,obj);892 } 893 }; 894 MochiKit.Iter.forEach(data,bind(_17 4,this));895 _16 7.restore();895 _169.strokeStyle=_175[this.options.strokeColorTransform]().toRGBString(); 896 } 897 } 898 _169.lineWidth=this.options.strokeWidth; 899 var _176=function(obj){ 900 if(obj.name==_174){ 901 _168(_169,obj); 902 } 903 }; 904 MochiKit.Iter.forEach(data,bind(_176,this)); 905 _169.restore(); 896 906 } 897 907 }; 898 908 PlotKit.CanvasRenderer.prototype._renderBarChart=function(){ 899 909 var bind=MochiKit.Base.bind; 900 var _17 6=function(_177,bar){910 var _178=function(_179,bar){ 901 911 var x=this.area.w*bar.x+this.area.x; 902 912 var y=this.area.h*bar.y+this.area.y; … … 907 917 } 908 918 if(this.options.shouldFill){ 909 _17 7.fillRect(x,y,w,h);919 _179.fillRect(x,y,w,h); 910 920 } 911 921 if(this.options.shouldStroke){ 912 _17 7.strokeRect(x,y,w,h);913 } 914 }; 915 this._renderBarChartWrap(this.layout.bars,bind(_17 6,this));922 _179.strokeRect(x,y,w,h); 923 } 924 }; 925 this._renderBarChartWrap(this.layout.bars,bind(_178,this)); 916 926 }; 917 927 PlotKit.CanvasRenderer.prototype._renderLineChart=function(){ 918 var _18 0=this.element.getContext("2d");919 var _18 1=this.options.colorScheme.length;920 var _18 2=this.options.colorScheme;921 var _18 3=MochiKit.Base.keys(this.layout.datasets);922 var _18 4=_183.length;928 var _182=this.element.getContext("2d"); 929 var _183=this.options.colorScheme.length; 930 var _184=this.options.colorScheme; 931 var _185=MochiKit.Base.keys(this.layout.datasets); 932 var _186=_185.length; 923 933 var bind=MochiKit.Base.bind; 924 var _18 5=MochiKit.Base.partial;925 for(var i=0;i<_18 4;i++){926 var _18 6=_183[i];927 var _18 7=_182[i%_181];928 var _1 88=this.options.strokeColorTransform;929 _18 0.save();930 _18 0.fillStyle=_187.toRGBString();934 var _187=MochiKit.Base.partial; 935 for(var i=0;i<_186;i++){ 936 var _188=_185[i]; 937 var _189=_184[i%_183]; 938 var _190=this.options.strokeColorTransform; 939 _182.save(); 940 _182.fillStyle=_189.toRGBString(); 931 941 if(this.options.strokeColor){ 932 _18 0.strokeStyle=this.options.strokeColor.toRGBString();942 _182.strokeStyle=this.options.strokeColor.toRGBString(); 933 943 }else{ 934 944 if(this.options.strokeColorTransform){ 935 _18 0.strokeStyle=_187[_188]().toRGBString();936 } 937 } 938 _18 0.lineWidth=this.options.strokeWidth;939 var _1 89=function(ctx){945 _182.strokeStyle=_189[_190]().toRGBString(); 946 } 947 } 948 _182.lineWidth=this.options.strokeWidth; 949 var _191=function(ctx){ 940 950 ctx.beginPath(); 941 951 ctx.moveTo(this.area.x,this.area.y+this.area.h); 942 var _19 1=function(ctx_,_193){943 if(_19 3.name==_186){944 ctx_.lineTo(this.area.w*_19 3.x+this.area.x,this.area.h*_193.y+this.area.y);945 } 946 }; 947 MochiKit.Iter.forEach(this.layout.points,_18 5(_191,ctx),this);952 var _193=function(ctx_,_195){ 953 if(_195.name==_188){ 954 ctx_.lineTo(this.area.w*_195.x+this.area.x,this.area.h*_195.y+this.area.y); 955 } 956 }; 957 MochiKit.Iter.forEach(this.layout.points,_187(_193,ctx),this); 948 958 ctx.lineTo(this.area.w+this.area.x,this.area.h+this.area.y); 949 959 ctx.lineTo(this.area.x,this.area.y+this.area.h); … … 951 961 }; 952 962 if(this.options.shouldFill){ 953 bind(_1 89,this)(_180);954 _18 0.fill();963 bind(_191,this)(_182); 964 _182.fill(); 955 965 } 956 966 if(this.options.shouldStroke){ 957 bind(_1 89,this)(_180);958 _18 0.stroke();959 } 960 _18 0.restore();967 bind(_191,this)(_182); 968 _182.stroke(); 969 } 970 _182.restore(); 961 971 } 962 972 }; 963 973 PlotKit.CanvasRenderer.prototype._renderPieChart=function(){ 964 var _19 4=this.element.getContext("2d");965 var _19 5=this.options.colorScheme.length;966 var _19 6=this.layout.slices;967 var _19 7=this.area.x+this.area.w*0.5;968 var _ 198=this.area.y+this.area.h*0.5;969 var _ 199=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius);974 var _196=this.element.getContext("2d"); 975 var _197=this.options.colorScheme.length; 976 var _198=this.layout.slices; 977 var _199=this.area.x+this.area.w*0.5; 978 var _200=this.area.y+this.area.h*0.5; 979 var _201=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius); 970 980 if(this.isIE){ 971 _197=parseInt(_197);972 _198=parseInt(_198);973 981 _199=parseInt(_199); 974 } 975 for(var i=0;i<_196.length;i++){ 976 var _200=this.options.colorScheme[i%_195]; 977 _194.save(); 978 _194.fillStyle=_200.toRGBString(); 979 var _201=function(){ 980 _194.beginPath(); 981 _194.moveTo(_197,_198); 982 _194.arc(_197,_198,_199,_196[i].startAngle-Math.PI/2,_196[i].endAngle-Math.PI/2,false); 983 _194.lineTo(_197,_198); 984 _194.closePath(); 985 }; 986 if(Math.abs(_196[i].startAngle-_196[i].endAngle)>0.001){ 982 _200=parseInt(_200); 983 _201=parseInt(_201); 984 } 985 for(var i=0;i<_198.length;i++){ 986 var _202=this.options.colorScheme[i%_197]; 987 _196.save(); 988 _196.fillStyle=_202.toRGBString(); 989 var _203=function(){ 990 _196.beginPath(); 991 _196.moveTo(_199,_200); 992 _196.arc(_199,_200,_201,_198[i].startAngle-Math.PI/2,_198[i].endAngle-Math.PI/2,false); 993 _196.lineTo(_199,_200); 994 _196.closePath(); 995 }; 996 if(Math.abs(_198[i].startAngle-_198[i].endAngle)>0.001){ 987 997 if(this.options.shouldFill){ 988 _20 1();989 _19 4.fill();998 _203(); 999 _196.fill(); 990 1000 } 991 1001 if(this.options.shouldStroke){ 992 _20 1();993 _19 4.lineWidth=this.options.strokeWidth;1002 _203(); 1003 _196.lineWidth=this.options.strokeWidth; 994 1004 if(this.options.strokeColor){ 995 _19 4.strokeStyle=this.options.strokeColor.toRGBString();1005 _196.strokeStyle=this.options.strokeColor.toRGBString(); 996 1006 }else{ 997 1007 if(this.options.strokeColorTransform){ 998 _19 4.strokeStyle=_200[this.options.strokeColorTransform]().toRGBString();999 } 1000 } 1001 _19 4.stroke();1002 } 1003 } 1004 _19 4.restore();1008 _196.strokeStyle=_202[this.options.strokeColorTransform]().toRGBString(); 1009 } 1010 } 1011 _196.stroke(); 1012 } 1013 } 1014 _196.restore(); 1005 1015 } 1006 1016 }; … … 1015 1025 return; 1016 1026 } 1017 var _20 2=this.element.getContext("2d");1018 var _20 3={"style":{"position":"absolute","fontSize":this.options.axisLabelFontSize+"px","zIndex":10,"color":this.options.axisLabelColor.toRGBString(),"width":this.options.axisLabelWidth+"px","overflow":"hidden"}};1019 _20 2.save();1020 _20 2.strokeStyle=this.options.axisLineColor.toRGBString();1021 _20 2.lineWidth=this.options.axisLineWidth;1027 var _204=this.element.getContext("2d"); 1028 var _205={"style":{"position":"absolute","fontSize":this.options.axisLabelFontSize+"px","zIndex":10,"color":this.options.axisLabelColor.toRGBString(),"width":this.options.axisLabelWidth+"px","overflow":"hidden"}}; 1029 _204.save(); 1030 _204.strokeStyle=this.options.axisLineColor.toRGBString(); 1031 _204.lineWidth=this.options.axisLineWidth; 1022 1032 if(this.options.drawYAxis){ 1023 1033 if(this.layout.yticks){ 1024 var _20 4=function(tick){1034 var _206=function(tick){ 1025 1035 if(typeof (tick)=="function"){ 1026 1036 return; … … 1028 1038 var x=this.area.x; 1029 1039 var y=this.area.y+tick[0]*this.area.h; 1030 _20 2.beginPath();1031 _20 2.moveTo(x,y);1032 _20 2.lineTo(x-this.options.axisTickSize,y);1033 _20 2.closePath();1034 _20 2.stroke();1035 var _20 5=DIV(_203,tick[1]);1036 _20 5.style.top=(y-this.options.axisLabelFontSize)+"px";1037 _20 5.style.left=(x-this.options.padding.left-this.options.axisTickSize)+"px";1038 _20 5.style.textAlign="right";1039 _20 5.style.width=(this.options.padding.left-this.options.axisTickSize*2)+"px";1040 MochiKit.DOM.appendChildNodes(this.container,_20 5);1041 this.ylabels.push(_20 5);1042 }; 1043 MochiKit.Iter.forEach(this.layout.yticks,bind(_20 4,this));1044 } 1045 _20 2.beginPath();1046 _20 2.moveTo(this.area.x,this.area.y);1047 _20 2.lineTo(this.area.x,this.area.y+this.area.h);1048 _20 2.closePath();1049 _20 2.stroke();1040 _204.beginPath(); 1041 _204.moveTo(x,y); 1042 _204.lineTo(x-this.options.axisTickSize,y); 1043 _204.closePath(); 1044 _204.stroke(); 1045 var _207=DIV(_205,tick[1]); 1046 _207.style.top=(y-this.options.axisLabelFontSize)+"px"; 1047 _207.style.left=(x-this.options.padding.left-this.options.axisTickSize)+"px"; 1048 _207.style.textAlign="right"; 1049 _207.style.width=(this.options.padding.left-this.options.axisTickSize*2)+"px"; 1050 MochiKit.DOM.appendChildNodes(this.container,_207); 1051 this.ylabels.push(_207); 1052 }; 1053 MochiKit.Iter.forEach(this.layout.yticks,bind(_206,this)); 1054 } 1055 _204.beginPath(); 1056 _204.moveTo(this.area.x,this.area.y); 1057 _204.lineTo(this.area.x,this.area.y+this.area.h); 1058 _204.closePath(); 1059 _204.stroke(); 1050 1060 } 1051 1061 if(this.options.drawXAxis){ 1052 1062 if(this.layout.xticks){ 1053 var _20 4=function(tick){1063 var _206=function(tick){ 1054 1064 if(typeof (dataset)=="function"){ 1055 1065 return; … … 1057 1067 var x=this.area.x+tick[0]*this.area.w; 1058 1068 var y=this.area.y+this.area.h; 1059 _20 2.beginPath();1060 _20 2.moveTo(x,y);1061 _20 2.lineTo(x,y+this.options.axisTickSize);1062 _20 2.closePath();1063 _20 2.stroke();1064 var _20 6=DIV(_203,tick[1]);1065 _20 6.style.top=(y+this.options.axisTickSize)+"px";1066 _20 6.style.left=(x-this.options.axisLabelWidth/2)+"px";1067 _20 6.style.textAlign="center";1068 _20 6.style.width=this.options.axisLabelWidth+"px";1069 MochiKit.DOM.appendChildNodes(this.container,_20 6);1070 this.xlabels.push(_20 6);1071 }; 1072 MochiKit.Iter.forEach(this.layout.xticks,bind(_20 4,this));1073 } 1074 _20 2.beginPath();1075 _20 2.moveTo(this.area.x,this.area.y+this.area.h);1076 _20 2.lineTo(this.area.x+this.area.w,this.area.y+this.area.h);1077 _20 2.closePath();1078 _20 2.stroke();1079 } 1080 _20 2.restore();1069 _204.beginPath(); 1070 _204.moveTo(x,y); 1071 _204.lineTo(x,y+this.options.axisTickSize); 1072 _204.closePath(); 1073 _204.stroke(); 1074 var _208=DIV(_205,tick[1]); 1075 _208.style.top=(y+this.options.axisTickSize)+"px"; 1076 _208.style.left=(x-this.options.axisLabelWidth/2)+"px"; 1077 _208.style.textAlign="center"; 1078 _208.style.width=this.options.axisLabelWidth+"px"; 1079 MochiKit.DOM.appendChildNodes(this.container,_208); 1080 this.xlabels.push(_208); 1081 }; 1082 MochiKit.Iter.forEach(this.layout.xticks,bind(_206,this)); 1083 } 1084 _204.beginPath(); 1085 _204.moveTo(this.area.x,this.area.y+this.area.h); 1086 _204.lineTo(this.area.x+this.area.w,this.area.y+this.area.h); 1087 _204.closePath(); 1088 _204.stroke(); 1089 } 1090 _204.restore(); 1081 1091 }; 1082 1092 PlotKit.CanvasRenderer.prototype._renderPieAxis=function(){ … … 1085 1095 } 1086 1096 if(this.layout.xticks){ 1087 var _20 7=new Array();1097 var _209=new Array(); 1088 1098 for(var i=0;i<this.layout.slices.length;i++){ 1089 _20 7[this.layout.slices[i].xval]=this.layout.slices[i];1090 } 1091 var _2 08=this.area.x+this.area.w*0.5;1092 var _2 09=this.area.y+this.area.h*0.5;1093 var _21 0=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius);1094 var _21 1=this.options.axisLabelWidth;1099 _209[this.layout.slices[i].xval]=this.layout.slices[i]; 1100 } 1101 var _210=this.area.x+this.area.w*0.5; 1102 var _211=this.area.y+this.area.h*0.5; 1103 var _212=Math.min(this.area.w*this.options.pieRadius,this.area.h*this.options.pieRadius); 1104 var _213=this.options.axisLabelWidth; 1095 1105 for(var i=0;i<this.layout.xticks.length;i++){ 1096 var _21 2=_207[this.layout.xticks[i][0]];1097 if(MochiKit.Base.isUndefinedOrNull(_21 2)){1106 var _214=_209[this.layout.xticks[i][0]]; 1107 if(MochiKit.Base.isUndefinedOrNull(_214)){ 1098 1108 continue; 1099 1109 } 1100 var _21 3=(_212.startAngle+_212.endAngle)/2;1101 var _21 4=_213;1102 if(_21 4>Math.PI*2){1103 _21 4=_214-Math.PI*2;1104 }else{ 1105 if(_21 4<0){1106 _21 4=_214+Math.PI*2;1107 } 1108 } 1109 var _21 5=_208+Math.sin(_214)*(_210+10);1110 var _21 6=_209-Math.cos(_214)*(_210+10);1111 var _21 7={"position":"absolute","zIndex":11,"width":_211+"px","fontSize":this.options.axisLabelFontSize+"px","overflow":"hidden","color":this.options.axisLabelColor.toHexString()};1112 if(_21 4<=Math.PI*0.5){1113 _21 7["textAlign"]="left";1114 _21 7["verticalAlign"]="top";1115 _21 7["left"]=_215+"px";1116 _21 7["top"]=(_216-this.options.axisLabelFontSize)+"px";1117 }else{ 1118 if((_21 4>Math.PI*0.5)&&(_214<=Math.PI)){1119 _21 7["textAlign"]="left";1120 _21 7["verticalAlign"]="bottom";1121 _21 7["left"]=_215+"px";1122 _21 7["top"]=_216+"px";1123 }else{ 1124 if((_21 4>Math.PI)&&(_214<=Math.PI*1.5)){1125 _21 7["textAlign"]="right";1126 _21 7["verticalAlign"]="bottom";1127 _21 7["left"]=(_215-_211)+"px";1128 _21 7["top"]=_216+"px";1129 }else{ 1130 _21 7["textAlign"]="right";1131 _21 7["verticalAlign"]="bottom";1132 _21 7["left"]=(_215-_211)+"px";1133 _21 7["top"]=(_216-this.options.axisLabelFontSize)+"px";1134 } 1135 } 1136 } 1137 var _2 18=DIV({"style":_217},this.layout.xticks[i][1]);1138 this.xlabels.push(_2 18);1139 MochiKit.DOM.appendChildNodes(this.container,_2 18);1110 var _215=(_214.startAngle+_214.endAngle)/2; 1111 var _216=_215; 1112 if(_216>Math.PI*2){ 1113 _216=_216-Math.PI*2; 1114 }else{ 1115 if(_216<0){ 1116 _216=_216+Math.PI*2; 1117 } 1118 } 1119 var _217=_210+Math.sin(_216)*(_212+10); 1120 var _218=_211-Math.cos(_216)*(_212+10); 1121 var _219={"position":"absolute","zIndex":11,"width":_213+"px","fontSize":this.options.axisLabelFontSize+"px","overflow":"hidden","color":this.options.axisLabelColor.toHexString()}; 1122 if(_216<=Math.PI*0.5){ 1123 _219["textAlign"]="left"; 1124 _219["verticalAlign"]="top"; 1125 _219["left"]=_217+"px"; 1126 _219["top"]=(_218-this.options.axisLabelFontSiz



