Changeset 7a03e65 in sasview for guitools/PlotPanel.py
- Timestamp:
- Apr 10, 2008 6:29:17 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:
- 370e587
- Parents:
- 3d3a0e5
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
guitools/PlotPanel.py
r3d3a0e5 r7a03e65 63 63 self.prevXtrans =" " 64 64 self.prevYtrans =" " 65 65 66 def returnTrans(self): 66 67 return self.xscales,self.yscales … … 81 82 list = self.graph.returnPlottable() 82 83 from fitDialog import LinearFit 83 print len(list)84 84 85 if len(list.keys())>0: 85 86 first_item = list.keys()[0] … … 101 102 dial.Destroy() 102 103 103 def toX(self,x ):104 def toX(self,x,y=None): 104 105 """ 105 106 This function is used to load value on Plottable.View … … 109 110 return x 110 111 111 def toX2(self,x ):112 def toX2(self,x,y=None): 112 113 """ 113 114 This function is used to load value on Plottable.View … … 117 118 return x*x 118 119 119 def fromX2(self,x ):120 def fromX2(self,x,y=None): 120 121 """ 121 122 This function is used to load value on Plottable.View … … 127 128 else: 128 129 return math.sqrt(x) 129 def toLogX(self,x ):130 def toLogX(self,x,y=None): 130 131 """ 131 132 This function is used to load value on Plottable.View … … 138 139 return math.log(x) 139 140 140 def toOneOverX(self,x ):141 def toOneOverX(self,x,y=None): 141 142 if x !=0: 142 143 return 1/x 143 144 else: 144 145 raise ValueError,"cannot divide by zero" 145 def toOneOverSqrtX(self,x): 146 if x > 0: 147 return 1/math.sqrt(x) 148 else: 149 raise ValueError,"cannot be computed" 146 def toOneOverSqrtX(self,x=None,y=None): 147 if y!=None: 148 if y > 0: 149 return 1/math.sqrt(y) 150 else: 151 raise ValueError,"cannot be computed" 152 if x!= None: 153 if x > 0: 154 return 1/math.sqrt(x) 155 else: 156 raise ValueError,"cannot be computed" 157 150 158 def toLogYX2(self,x,y): 151 159 if y*(x**2) >0: … … 247 255 def onSaveImage(self, evt): 248 256 #figure.savefig 249 print "Save image not implemented"257 #print "Save image not implemented" 250 258 path = None 251 259 dlg = wx.FileDialog(self, "Choose a file", os.getcwd(), "", "*.png", wx.SAVE) … … 285 293 pos = self.ScreenToClient(pos) 286 294 self.PopupMenu(slicerpop, pos) 287 288 295 289 296 ## The following is plottable functionality … … 452 459 name, units = item.get_yaxis() 453 460 self.graph.yaxis("%s" %name, "%s" % units) 461 454 462 if ( self.yscales =="Log(y*x)"): 455 item.transform_ xy( self.toXY ,self.errToXY )456 self.set_yscale("l og")463 item.transform_y( self.toLogXY ,self.errToLogXY ) 464 self.set_yscale("linear") 457 465 yname, yunits = item.get_yaxis() 458 466 xname, xunits = item.get_xaxis() 459 self.graph.yaxis("%s "+"*"+"%s" % (yname,xname), "%s^{-1}"+"*"+"s^{-1}" % (yunits,xunits))467 self.graph.yaxis("%s%s" % (yname,xname), "%s^{-1}%s^{-1}" % (yunits,xunits)) 460 468 if ( self.yscales =="Log(y*x^(2)"): 461 item.transform_ xy( self.toYX2 ,self.errToYX2 )462 self.set_yscale("l og")469 item.transform_y( self.toYX2 ,self.errToYX2 ) 470 self.set_yscale("linear") 463 471 yname, yunits = item.get_yaxis() 464 472 xname, xunits = item.get_xaxis() 465 self.graph.yaxis("%s "+"*"+"%s^{2}" % (yname,xname), "%s^{-1}"+"*"+"s^{-2}" % (yunits,xunits))473 self.graph.yaxis("%s%s^{2}" % (yname,xname), "%s^{-1}%s^{-2}" % (yunits,xunits)) 466 474 467 475 self.prevXtrans = self.xscales … … 471 479 self.subplot.figure.canvas.draw_idle() 472 480 473 def errToX(self,x, dx=None):481 def errToX(self,x,y=None,dx=None,dy=None): 474 482 """ 475 483 calculate error of x**2 … … 477 485 @param dx: float value 478 486 """ 479 if (dx != None) and (math.fabs(dx) >= math.fabs(x)): 480 return math.fabs(0.9*x) 481 if dx==None: 482 return 0 483 return math.fabs(dx) 484 485 def errToX2(self,x,dx=None): 487 return dx 488 489 490 def errToX2(self,x,y=None,dx=None,dy=None): 486 491 """ 487 492 calculate error of x**2 … … 496 501 else: 497 502 return 0.0 498 def errFromX2(self,x, dx=None):503 def errFromX2(self,x,y=None,dx=None,dy=None): 499 504 """ 500 505 calculate error of sqrt(x) … … 514 519 return math.fabs(err) 515 520 516 def errToLogX(self,x, dx=None):517 """ 518 calculate error of Log(x y)521 def errToLogX(self,x,y=None,dx=None,dy=None): 522 """ 523 calculate error of Log(x) 519 524 @param x: float value 520 525 @param dx: float value 521 526 """ 522 if x!=0: 523 if dx==None: 524 #err = 1/x 525 err = 0 526 else: 527 err = dx/x 528 if math.fabs(err) >= math.fabs(x): 529 err = 0.9*x 530 else: 531 err = 0.9*x 532 533 return math.fabs(err) 527 if math.fabs(dx) >= math.fabs(x): 528 return 0.9*x 529 return dx 530 534 531 def errToXY(self, x, y, dx=None, dy=None): 535 532 if dx==None: … … 541 538 err =0.9*x 542 539 return err 540 543 541 def errToYX2(self, x, y, dx=None, dy=None): 544 542 if dx==None: … … 585 583 return math.sqrt(math.fabs(err)) 586 584 587 def errOneOverX(self,x, dx):585 def errOneOverX(self,x,y=None,dx=None, dy=None): 588 586 """ 589 587 calculate error on 1/x 590 588 """ 591 if (x != 0) and (dx!=None):589 if (x != 0): 592 590 if dx ==None: 593 591 dx= 0 … … 600 598 return math.fabs(err) 601 599 602 def errOneOverSqrtX(self ):600 def errOneOverSqrtX(self,x,y=None, dx=None,dy=None): 603 601 """ 604 602 Calculate error on 1/sqrt(x) 605 603 """ 606 if (x >0) and (dx!=None):604 if (x >0): 607 605 if dx==None: 608 606 dx =0 … … 625 623 self.graph.add(plottable) 626 624 self.graph.render(self) 625 self.subplot.figure.canvas.draw_idle() 627 626 self.graph.delete(plottable) 628 self.subplot.figure.canvas.draw_idle() 627 628 629 629 630 630
Note: See TracChangeset
for help on using the changeset viewer.