Changeset f193585 in sasview for guitools/plottables.py
- Timestamp:
- Apr 28, 2008 3:48:59 PM (16 years ago)
- Branches:
- master, ESS_GUI, ESS_GUI_Docs, ESS_GUI_batch_fitting, ESS_GUI_bumps_abstraction, ESS_GUI_iss1116, ESS_GUI_iss879, ESS_GUI_iss959, ESS_GUI_opencl, ESS_GUI_ordering, ESS_GUI_sync_sascalc, costrafo411, magnetic_scatt, release-4.1.1, release-4.1.2, release-4.2.2, release_4.0.1, ticket-1009, ticket-1094-headless, ticket-1242-2d-resolution, ticket-1243, ticket-1249, ticket885, unittest-saveload
- Children:
- 6ed101a
- Parents:
- 9e8dc22
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
guitools/plottables.py
r46693050 rf193585 42 42 import copy 43 43 import numpy 44 import math 44 45 45 46 if 'any' not in dir(__builtins__): … … 181 182 else: 182 183 self.color =0 184 183 185 184 186 def reset(self): … … 361 363 ##Use the following if @classmethod doesn't work 362 364 # labels = classmethod(labels) 363 365 def getTransform(self,transx,transy): 366 self.view.transx = transx 367 self.view.transy = transy 368 364 369 def __init__(self): 365 370 self.view = View() … … 417 422 418 423 def returnValuesOfView(self): 419 420 424 return self.view.returnXview() 425 421 426 def check_data_PlottableX(self): 422 427 self.view.check_data_logX() 428 423 429 def check_data_PlottableY(self): 424 430 self.view.check_data_logY() 425 def originalXrange(self): 426 self.view.reelXrange() 427 def reducedXrange(self,min,max): 428 self.view.reduceXrange(min, max) 431 def returnTransformationx(self,transx,transdx): 432 self.view.returntransformx(transx,transdx) 433 def returnTransformationy(self,transy,transdy): 434 self.view.returntransformy(transy,transdy) 435 429 436 class View: 430 437 """ … … 447 454 self.DXreel = self.dx 448 455 self.DYreel = self.dy 449 456 self.transx ="" 457 self.transy ="" 458 self.funcx= None 459 self.funcy= None 460 self.funcdx= None 461 self.funcdy= None 462 450 463 def transform_x(self, func, errfunc, x,y=None,dx=None, dy=None): 451 464 """ … … 474 487 self.x = [] 475 488 self.dx = [] 476 489 tempy=[] 490 tempdy=[] 491 print "this is initial value of y transformed",self.y 492 print "this is initial value of dy transformed",self.dy 477 493 for i in range(len(x)): 478 494 if has_y: 479 495 try: 480 496 xtemp = func(x[i],y[i]) 481 482 497 tempy.append(self.funcy.y[i]) 498 tempdy.append(self.funcdy.dy[i]) 483 499 if (dx!=None) and (dy !=None): 484 500 dxtemp = errfunc(x[i], y[i], dx[i], dy[i]) … … 489 505 else: 490 506 dxtemp = errfunc(x[i],y[i],0, 0) 491 492 507 self.x.append(xtemp) 493 self.dx.append(dxtemp) 494 self.Xreel = [] 495 self.DXreel=[] 496 self.Xreel = self.x 497 self.DXreel = self.dx 498 508 self.dx.append(dxtemp) 499 509 except: 510 if len(tempy)>0: 511 del tempy[len(tempy)-1] 512 del tempdy[len(tempdy)-1] 500 513 print "View.transform_x: skipping point %g" % x[i] 501 print sys.exc_value 502 503 514 print sys.exc_value 504 515 else: 505 516 try: 506 517 xtemp = func(x[i]) 518 tempy.append(self.funcy.y[i]) 519 tempdy.append(self.funcdy.dy[i]) 507 520 if (dx != None): 508 521 dxtemp = errfunc(x[i], dx[i]) … … 510 523 dxtemp = errfunc(x[i],None) 511 524 self.x.append(xtemp) 512 self.dx.append(dxtemp) 513 self.Xreel = [] 514 self.DXreel=[] 515 self.Xreel = self.x 516 self.DXreel = self.dx 517 525 self.dx.append(dxtemp) 518 526 except: 527 if len(tempy)>0: 528 del tempy[len(tempy)-1] 529 del tempdy[len(tempdy)-1] 519 530 print "View.transform_x: skipping point %g" % x[i] 520 531 print sys.exc_value 521 522 532 self.y=tempy 533 self.dy=tempdy 534 self.Xreel = [] 535 self.DXreel=[] 536 def returntransformx(self,funcx,funcdx): 537 self.funcx= funcx 538 self.funcdx= funcdx 539 540 def returntransformy(self,funcy,funcdy): 541 self.funcy= funcy 542 self.funcdy= funcdy 523 543 def transform_y(self, func, errfunc, y, x=None,dx=None,dy=None): 524 544 """ … … 547 567 self.y = [] 548 568 self.dy = [] 549 569 tempx=[] 570 tempdx=[] 571 print "this is initial value of x transformed",self.x 572 print "this is initial value of dx transformed",self.dx 550 573 for i in range(len(y)): 551 574 … … 553 576 try: 554 577 tempy = func(y[i],x[i]) 578 tempx.append(self.funcx.x[i]) 579 tempdx.append(self.funcdx.x[i]) 555 580 if (dx!=None) and (dy !=None): 556 581 tempdy = errfunc(y[i], x[i], dy[i], dx[i]) … … 563 588 self.y.append(tempy) 564 589 self.dy.append(tempdy) 565 self.Yreel = []566 self.DYreel=[]567 self.Yreel = self.y568 self.DYreel = self.dy569 590 except: 591 if len(tempx)>0: 592 del tempx[len(tempx)-1] 593 del tempdx[len(tempdx)-1] 570 594 print "View.transform_y: skipping point %g" % y[i] 571 595 print sys.exc_value … … 574 598 try: 575 599 tempy = func(y[i]) 600 tempx.append(self.funcx.x[i]) 601 tempdx.append(self.funcdx.dx[i]) 576 602 if (dy != None): 577 603 tempdy = errfunc( y[i],dy[i]) … … 579 605 tempdy = errfunc( y[i],None) 580 606 self.y.append(tempy) 581 self.dy.append(tempdy) 582 self.Yreel = [] 583 self.DYreel=[] 584 self.Yreel = self.y 585 self.DYreel = self.dy 607 self.dy.append(tempdy) 586 608 except: 609 if len(tempx)>0: 610 del tempx[len(tempx)-1] 611 del tempdx[len(tempdx)-1] 587 612 print "View.transform_y: skipping point %g" % y[i] 588 613 print sys.exc_value 589 590 591 614 615 self.x = tempx 616 self.dx = tempdx 617 self.Yreel = [] 618 self.DYreel=[] 619 self.Yreel = self.y 620 self.DYreel = self.dy 621 print "this is x length",self.x 622 print "this is y length",self.y 623 print "this is dx length",self.dx 624 print "this is dy length",self.dy 592 625 def returnXview(self): 593 626 return self.x,self.y,self.dx,self.dy 594 627 595 def checkMin(self,x,min,pos=None): 596 if pos==None: 597 pos=0 598 for i in range(len(self.x)): 599 if not min in x:# The user enters a value not in x 600 if x[i] > min: 601 index= i-1 602 print "this is index",index 603 return index1 604 else: 605 index=i 606 print"the user enter a value inside x",index 607 return index 608 else: 609 index= pos 610 return index 611 612 def checkMax(self,x,max,pos=None): 613 if pos==None: 614 pos=0 615 for i in range(len(self.x)): 616 if not max in x:# The user enters a value not in x 617 if x[i] >max: 618 619 index= i-1 620 return index 621 else: 622 index=i 623 return index 624 else: 625 index= pos 626 return index 627 628 def reduceXrange(self,min,max): 629 630 # to change the x range to the user range 631 self.Xscale = [] 632 self.Yscale = [] 633 self.DXscale = [] 634 self.DYscale = [] 635 indexmin =self.checkMin(self.x,min,None) 636 indexmax =self.checkMin(self.x,max,None) 637 for i in range(len(self.x)): 638 if( self.x[i] >=self.x[indexmin])and( self.x[i] <= max): 639 self.Xscale.append(self.x[i]) 640 self.Yscale.append(self.y[i]) 641 self.DXscale.append(self.dx[i]) 642 self.DYscale.append(self.dy[i]) 643 print self.Xscale 644 self.x= self.Xscale 645 self.y= self.Yscale 646 self.dx= self.DXscale 647 self.dy= self.DYscale 648 649 628 650 629 def reelXrange(self): 651 630 self.x= self.Xreel … … 653 632 self.dx= self.DXreel 654 633 self.dy= self.DYreel 655 656 634 657 635 def check_data_logX(self): … … 660 638 tempy=[] 661 639 tempdy=[] 662 663 for i in range(len(self.x)): 640 if self.transx=="log10(x)" : 641 for i in range(len(self.x)): 642 try: 643 if (self.x[i]> 0): 644 645 tempx.append(self.x[i]) 646 tempdx.append(self.dx[i]) 647 tempy.append(self.y[i]) 648 tempdy.append(self.dy[i]) 649 except: 650 #print "View.transform_x: skipping point %g" %self.x[i] 651 print sys.exc_value 652 pass 653 if (self.transx == "x"): 654 if (self.transy == "ln(y*x)"): 655 try: 656 if (self.y[i]*self.x[i]> 0): 657 tempx.append(self.x[i]) 658 tempdx.append(self.dx[i]) 659 tempy.append(self.y[i]) 660 tempdy.append(self.dy[i]) 661 except: 662 #print "View.transform_x: skipping point %g" %self.x[i] 663 print sys.exc_value 664 pass 665 if(self.transy =="ln(y*x^(2))")or(self.transy =="ln(y*x^(4))"): 666 print "this is y transform",self.y 667 print "this is x transform",self.x 664 668 try: 665 if (self.x[i]> 0): 666 669 if (self.y[i]> 0 )and (self.x[i]!=0): 667 670 tempx.append(self.x[i]) 668 671 tempdx.append(self.dx[i]) … … 672 675 #print "View.transform_x: skipping point %g" %self.x[i] 673 676 print sys.exc_value 674 pass 675 677 pass 676 678 self.x=[] 677 679 self.dx=[] … … 682 684 self.dx=tempdx 683 685 self.dy=tempdy 686 684 687 def check_data_logY(self): 685 688 tempx=[] … … 687 690 tempy=[] 688 691 tempdy=[] 689 690 692 for i in range(len(self.x)): 693 if (self.transy == "ln(y)") or (self.transy == "log10(y)" )or\ 694 (self.transy =="1/sqrt(y)") : 695 try: 696 if (self.y[i]> 0): 697 tempx.append(self.x[i]) 698 tempdx.append(self.dx[i]) 699 tempy.append(self.y[i]) 700 tempdy.append(self.dy[i]) 701 except: 702 #print "View.transform_x: skipping point %g" %self.x[i] 703 print sys.exc_value 704 pass 705 if(self.transy == "1/y"): 706 try: 707 if (self.y[i]!=0): 708 tempx.append(self.x[i]) 709 tempdx.append(self.dx[i]) 710 tempy.append(self.y[i]) 711 tempdy.append(self.dy[i]) 712 except: 713 #print "View.transform_x: skipping point %g" %self.x[i] 714 print sys.exc_value 715 pass 716 if (self.transx == "x"): 717 if (self.transy == "ln(y*x)"): 718 try: 719 if (self.y[i]*self.x[i]> 0): 720 tempx.append(self.x[i]) 721 tempdx.append(self.dx[i]) 722 tempy.append(self.y[i]) 723 tempdy.append(self.dy[i]) 724 except: 725 #print "View.transform_x: skipping point %g" %self.x[i] 726 print sys.exc_value 727 pass 728 if(self.transy =="ln(y*x^(2))")or(self.transy =="ln(y*x^(4))"): 729 print "this is y transform",self.y 730 print "this is x transform",self.x 691 731 try: 692 if (self.y[i]> 0): 693 732 if (self.y[i]> 0 )and (self.x[i]!= 0): 694 733 tempx.append(self.x[i]) 695 734 tempdx.append(self.dx[i]) … … 699 738 #print "View.transform_x: skipping point %g" %self.x[i] 700 739 print sys.exc_value 701 pass 740 pass 702 741 703 742 self.x=[] … … 735 774 def render(self,plot,**kw): 736 775 plot.points(self.view.x,self.view.y,dx=self.view.dx,dy=self.view.dy,**kw) 737 #plot.points(self.x,self.y,dx=self.dx,dy=self.dy,**kw)776 738 777 739 778 def changed(self):
Note: See TracChangeset
for help on using the changeset viewer.