diff --git a/schainpy/model/graphics/jroplot_spectra.py b/schainpy/model/graphics/jroplot_spectra.py index a0e84f0..acfd95f 100644 --- a/schainpy/model/graphics/jroplot_spectra.py +++ b/schainpy/model/graphics/jroplot_spectra.py @@ -1,3 +1,4 @@ +# MASTER # Copyright (c) 2012-2021 Jicamarca Radio Observatory # All rights reserved. # @@ -43,7 +44,12 @@ class SpectraPlot(Plot): spc = 10*numpy.log10(dataOut.data_spc/dataOut.normFactor) data['spc'] = spc data['rti'] = dataOut.getPower() - data['noise'] = 10*numpy.log10(dataOut.getNoise()/dataOut.normFactor) + if hasattr(dataOut, 'LagPlot'): #Double Pulse + max_hei_id = dataOut.nHeights - 2*dataOut.LagPlot + data['noise'] = 10*numpy.log10(dataOut.getNoise(ymin_index=53,ymax_index=max_hei_id)/dataOut.normFactor) + data['noise'][0] = 10*numpy.log10(dataOut.getNoise(ymin_index=53)[0]/dataOut.normFactor) + else: + data['noise'] = 10*numpy.log10(dataOut.getNoise()/dataOut.normFactor) meta['xrange'] = (dataOut.getFreqRange(1)/1000., dataOut.getAcfRange(1), dataOut.getVelRange(1)) if self.CODE == 'spc_moments': @@ -66,6 +72,7 @@ class SpectraPlot(Plot): self.xlabel = "Velocity (m/s)" if (self.CODE == 'spc_moments') | (self.CODE == 'gaussian_fit'): + print("data",self.data.shape) x = self.data.xrange[2] self.xlabel = "Velocity (m/s)" @@ -77,9 +84,10 @@ class SpectraPlot(Plot): data = self.data[-1] z = data['spc'] + self.CODE2 = 'spc_oblique' + for n, ax in enumerate(self.axes): noise = data['noise'][n] - if self.CODE == 'spc_moments': mean = data['moments'][n, 1] if self.CODE == 'gaussian_fit': @@ -87,13 +95,16 @@ class SpectraPlot(Plot): gau1 = data['gaussfit'][n][2,:,1] if ax.firsttime: self.xmax = self.xmax if self.xmax else numpy.nanmax(x) - self.xmin = self.xmin if self.xmin else -self.xmax - self.zmin = self.zmin if self.zmin else numpy.nanmin(z) - self.zmax = self.zmax if self.zmax else numpy.nanmax(z) + self.xmin = self.xmin if self.xmin else numpy.nanmin(x)#-self.xmax + #self.zmin = self.zmin if self.zmin else numpy.nanmin(z) + #self.zmax = self.zmax if self.zmax else numpy.nanmax(z) + if self.zlimits is not None: + self.zmin, self.zmax = self.zlimits[n] + # CORREGIR CON matplotlib==3.3.4 ax.plt = ax.pcolormesh(x, y, z[n].T, vmin=self.zmin, vmax=self.zmax, - cmap=plt.get_cmap(self.colormap) + cmap=plt.get_cmap(self.colormap), ) if self.showprofile: @@ -107,6 +118,8 @@ class SpectraPlot(Plot): ax.plt_gau0 = ax.plot(gau0, y, color='r', lw=1)[0] ax.plt_gau1 = ax.plot(gau1, y, color='y', lw=1)[0] else: + if self.zlimits is not None: + self.zmin, self.zmax = self.zlimits[n] ax.plt.set_array(z[n].T.ravel()) if self.showprofile: ax.plt_profile.set_data(data['rti'][n], y) @@ -374,7 +387,6 @@ class CrossSpectra4Plot(Plot): cmap=plt.get_cmap(self.colormap) ) else: - ax.plt.set_array(nspc[pair[0]].T.ravel()) self.titles.append('CH {}: {:3.2f}dB'.format(pair[0], noise[pair[0]]))