##// END OF EJS Templates
Fix decimation in jroplot_data.py
Juan C. Espinoza -
r1119:f6b37c0bc49d
parent child
Show More
@@ -22,7 +22,7 ncmap = matplotlib.colors.LinearSegmentedColormap.from_list(
22 'jro', numpy.vstack((blu_values, jet_values)))
22 'jro', numpy.vstack((blu_values, jet_values)))
23 matplotlib.pyplot.register_cmap(cmap=ncmap)
23 matplotlib.pyplot.register_cmap(cmap=ncmap)
24
24
25 CMAPS = [plt.get_cmap(s) for s in ('jro', 'jet', 'RdBu_r', 'seismic')]
25 CMAPS = [plt.get_cmap(s) for s in ('jro', 'jet', 'viridis', 'plasma', 'inferno', 'Greys', 'seismic', 'bwr', 'coolwarm')]
26
26
27
27
28 def figpause(interval):
28 def figpause(interval):
@@ -45,8 +45,7 class PlotData(Operation, Process):
45 CODE = 'Figure'
45 CODE = 'Figure'
46 colormap = 'jro'
46 colormap = 'jro'
47 bgcolor = 'white'
47 bgcolor = 'white'
48 CONFLATE = False
48 CONFLATE = False
49 __MAXNUMX = 80
50 __missing = 1E30
49 __missing = 1E30
51
50
52 __attrs__ = ['show', 'save', 'xmin', 'xmax', 'ymin', 'ymax', 'zmin', 'zmax',
51 __attrs__ = ['show', 'save', 'xmin', 'xmax', 'ymin', 'ymax', 'zmin', 'zmax',
@@ -88,7 +87,7 class PlotData(Operation, Process):
88 self.ymin = kwargs.get('ymin', None)
87 self.ymin = kwargs.get('ymin', None)
89 self.ymax = kwargs.get('ymax', None)
88 self.ymax = kwargs.get('ymax', None)
90 self.xlabel = kwargs.get('xlabel', None)
89 self.xlabel = kwargs.get('xlabel', None)
91 self.__MAXNUMY = kwargs.get('decimation', 200)
90 self.decimation = kwargs.get('decimation', None)
92 self.showSNR = kwargs.get('showSNR', False)
91 self.showSNR = kwargs.get('showSNR', False)
93 self.oneFigure = kwargs.get('oneFigure', True)
92 self.oneFigure = kwargs.get('oneFigure', True)
94 self.width = kwargs.get('width', None)
93 self.width = kwargs.get('width', None)
@@ -328,7 +327,7 class PlotData(Operation, Process):
328 def decimate(self):
327 def decimate(self):
329
328
330 # dx = int(len(self.x)/self.__MAXNUMX) + 1
329 # dx = int(len(self.x)/self.__MAXNUMX) + 1
331 dy = int(len(self.y) / self.__MAXNUMY) + 1
330 dy = int(len(self.y) / self.decimation) + 1
332
331
333 # x = self.x[::dx]
332 # x = self.x[::dx]
334 x = self.x
333 x = self.x
@@ -369,7 +368,7 class PlotData(Operation, Process):
369 ymin = self.ymin if self.ymin else numpy.nanmin(self.y)
368 ymin = self.ymin if self.ymin else numpy.nanmin(self.y)
370 ymax = self.ymax if self.ymax else numpy.nanmax(self.y)
369 ymax = self.ymax if self.ymax else numpy.nanmax(self.y)
371
370
372 Y = numpy.array([10, 20, 50, 100, 200, 500, 1000, 2000])
371 Y = numpy.array([5, 10, 20, 50, 100, 200, 500, 1000, 2000])
373 i = 1 if numpy.where(ymax-ymin < Y)[0][0] < 0 else numpy.where(ymax-ymin < Y)[0][0]
372 i = 1 if numpy.where(ymax-ymin < Y)[0][0] < 0 else numpy.where(ymax-ymin < Y)[0][0]
374 ystep = Y[i] / 5
373 ystep = Y[i] / 5
375
374
@@ -712,8 +711,12 class PlotRTIData(PlotData):
712 self.z = self.data[self.CODE]
711 self.z = self.data[self.CODE]
713 self.z = numpy.ma.masked_invalid(self.z)
712 self.z = numpy.ma.masked_invalid(self.z)
714
713
715 for n, ax in enumerate(self.axes):
714 if self.decimation is None:
715 x, y, z = self.fill_gaps(self.x, self.y, self.z)
716 else:
716 x, y, z = self.fill_gaps(*self.decimate())
717 x, y, z = self.fill_gaps(*self.decimate())
718
719 for n, ax in enumerate(self.axes):
717 self.zmin = self.zmin if self.zmin else numpy.min(self.z)
720 self.zmin = self.zmin if self.zmin else numpy.min(self.z)
718 self.zmax = self.zmax if self.zmax else numpy.max(self.z)
721 self.zmax = self.zmax if self.zmax else numpy.max(self.z)
719 if ax.firsttime:
722 if ax.firsttime:
@@ -916,9 +919,13 class PlotParamData(PlotRTIData):
916
919
917 self.z = numpy.ma.masked_invalid(self.z)
920 self.z = numpy.ma.masked_invalid(self.z)
918
921
919 for n, ax in enumerate(self.axes):
922 if self.decimation is None:
920
923 x, y, z = self.fill_gaps(self.x, self.y, self.z)
924 else:
921 x, y, z = self.fill_gaps(*self.decimate())
925 x, y, z = self.fill_gaps(*self.decimate())
926
927 for n, ax in enumerate(self.axes):
928
922 self.zmax = self.zmax if self.zmax is not None else numpy.max(
929 self.zmax = self.zmax if self.zmax is not None else numpy.max(
923 self.z[n])
930 self.z[n])
924 self.zmin = self.zmin if self.zmin is not None else numpy.min(
931 self.zmin = self.zmin if self.zmin is not None else numpy.min(
General Comments 0
You need to be logged in to leave comments. Login now