##// END OF EJS Templates
Correccion del Bug: Insertar gaps
Daniel Valdez -
r396:889ac122bfe4
parent child
Show More
@@ -204,6 +204,9 class Axes:
204 x_buffer = None
204 x_buffer = None
205 z_buffer = None
205 z_buffer = None
206
206
207 decimationx = None
208 decimationy = None
209
207 __MAXNUMX = 1000
210 __MAXNUMX = 1000
208 __MAXNUMY = 500
211 __MAXNUMY = 500
209
212
@@ -431,7 +434,7 class Axes:
431 ymin=None, ymax=None,
434 ymin=None, ymax=None,
432 zmin=None, zmax=None,
435 zmin=None, zmax=None,
433 xlabel='', ylabel='',
436 xlabel='', ylabel='',
434 title='', rti = False, colormap='jet',
437 title='', rti = True, colormap='jet',
435 maxNumX = None, maxNumY = None,
438 maxNumX = None, maxNumY = None,
436 **kwargs):
439 **kwargs):
437
440
@@ -470,50 +473,49 class Axes:
470 if self.zmin == None: self.zmin = zmin
473 if self.zmin == None: self.zmin = zmin
471 if self.zmax == None: self.zmax = zmax
474 if self.zmax == None: self.zmax = zmax
472
475
476 self.__firsttime = False
477 return
478
479 self.x_buffer = numpy.hstack((self.x_buffer, x[-1]))
480 self.z_buffer = numpy.hstack((self.z_buffer, z))
473
481
474 deltax = (xmax - xmin)/maxNumX
482 if self.decimationx == None:
475 deltay = (ymax - ymin)/maxNumY
483 deltax = (self.xmax - self.xmin)/maxNumX
484 deltay = (self.ymax - self.ymin)/maxNumY
476
485
477 resolutionx = x[1]-x[0]
486 resolutionx = self.x_buffer[2]-self.x_buffer[0]
478 resolutiony = y[1]-y[0]
487 resolutiony = y[1]-y[0]
479
488
480 self.decimationx = numpy.ceil(deltax / resolutionx)
489 self.decimationx = numpy.ceil(deltax / resolutionx)
481 self.decimationy = numpy.ceil(deltay / resolutiony)
490 self.decimationy = numpy.ceil(deltay / resolutiony)
482
491
483 self.__firsttime = False
492 z_buffer = self.z_buffer.reshape(-1,len(y))
484 return
485
486 if rti:
487 if x[0]>self.x_buffer[-1]:
488 gap = z.copy()
489 gap[:] = self.__missing
490 self.z_buffer = numpy.hstack((self.z_buffer, gap))
491 self.z_buffer = numpy.ma.masked_inside(self.z_buffer,0.99*self.__missing,1.01*self.__missing)
492 self.x_buffer = numpy.hstack((self.x_buffer, x))
493
494 else:
495 self.x_buffer = numpy.hstack((self.x_buffer, x[-1]))
496
497 self.z_buffer = numpy.hstack((self.z_buffer, z))
498
499 # self.z_buffer = numpy.ma.masked_inside(self.z_buffer,0.99*self.__missing,1.01*self.__missing)
500 ydim = len(y)
501 z_buffer = self.z_buffer.reshape(-1,ydim)
502
493
503 x_buffer = self.x_buffer[::self.decimationx]
494 x_buffer = self.x_buffer[::self.decimationx]
504 y_buffer = y[::self.decimationy]
495 y_buffer = y[::self.decimationy]
505 z_buffer = z_buffer[::self.decimationx, ::self.decimationy]
496 z_buffer = z_buffer[::self.decimationx, ::self.decimationy]
506 #===================================================
497 #===================================================
507
498
499 x_buffer, y_buffer, z_buffer = self.__fillGaps(x_buffer, y_buffer, z_buffer)
500
508 self.__driver.addpcolorbuffer(self.ax, x_buffer, y_buffer, z_buffer, self.zmin, self.zmax,
501 self.__driver.addpcolorbuffer(self.ax, x_buffer, y_buffer, z_buffer, self.zmin, self.zmax,
509 xlabel=xlabel,
502 xlabel=xlabel,
510 ylabel=ylabel,
503 ylabel=ylabel,
511 title=title,
504 title=title,
512 colormap=colormap)
505 colormap=colormap)
513 return
506 def __fillGaps(self, x_buffer, y_buffer, z_buffer):
507
508 deltas = x_buffer[1:] - x_buffer[0:-1]
509 x_median = numpy.median(deltas)
510
511 index = numpy.where(deltas >= 2*x_median)
512
513 if len(index[0]) != 0:
514 z_buffer[index[0],::] = self.__missing
515 z_buffer = numpy.ma.masked_inside(z_buffer,0.99*self.__missing,1.01*self.__missing)
516
517 return x_buffer, y_buffer, z_buffer
518
519
514
520
515 self.__driver.pcolor(self.plot, z,
516 xlabel=xlabel,
517 ylabel=ylabel,
518 title=title)
519 No newline at end of file
521
General Comments 0
You need to be logged in to leave comments. Login now