def drawBarbs(self, prof, qp, color="#FFFFFF"): qp.setClipping(False) rect_size = self.clip.size() rect_size.setHeight(rect_size.height() + self.bpad) mod_clip = QRect(self.clip.topLeft(), rect_size) qp.setClipRect(mod_clip) if self.interpWinds is False: i = 0 mask1 = prof.u.mask mask2 = prof.pres.mask mask = np.maximum(mask1, mask2) pres = prof.pres[~mask] u = prof.u[~mask] v = prof.v[~mask] wdir, wspd = tab.utils.comp2vec(u, v) yvals = self.originy + self.pres_to_pix(pres) / self.scale for y in yvals: dd = wdir[i] ss = wspd[i] drawBarb( qp, self.barbx, y, dd, vv ) i += 1 else: pres = np.arange(prof.pres[prof.sfc], prof.pres[prof.top], -40) wdir, wspd = tab.interp.vec(prof, pres) for p, dd, ss in zip(pres, wdir, wspd): if not tab.utils.QC(dd) or np.isnan(ss) or p < self.pmin: continue y = self.originy + self.pres_to_pix(p) / self.scale drawBarb( qp, self.barbx, y, dd, ss, color=color) qp.setClipRect(self.clip)
def drawBarbs(self, qp): if self.interpWinds is False: i = 0 mask1 = self.u.mask mask2 = self.pres.mask mask = np.maximum(mask1, mask2) pres = self.pres[~mask] u = self.u[~mask] v = self.v[~mask] yvals = self.pres_to_pix(pres) for y in yvals: if y >= self.tly: uu = u[i] vv = v[i] drawBarb( qp, self.barbx, y, uu, vv ) i += 1 else: break else: for p in np.arange(self.prof.pres[self.prof.sfc], self.prof.pres[self.prof.top], -40): uu, vv = tab.interp.components(self.prof, p) if not tab.utils.QC(uu) or np.isnan(uu) or p < self.pmin: continue y = self.pres_to_pix(p) drawBarb( qp, self.barbx, y, uu, vv )
def drawBarbs(self, prof, qp, color="#FFFFFF"): if self.interpWinds is False: i = 0 mask1 = prof.u.mask mask2 = prof.pres.mask mask = np.maximum(mask1, mask2) pres = prof.pres[~mask] u = prof.u[~mask] v = prof.v[~mask] wdir, wspd = tab.utils.comp2vec(u, v) yvals = self.pres_to_pix(pres) for y in yvals: if y >= self.tly: dd = wdir[i] ss = wspd[i] drawBarb( qp, self.barbx, y, dd, vv ) i += 1 else: break else: pres = np.arange(prof.pres[prof.sfc], prof.pres[prof.top], -40) wdir, wspd = tab.interp.vec(prof, pres) for p, dd, ss in zip(pres, wdir, wspd): if not tab.utils.QC(dd) or np.isnan(ss) or p < self.pmin: continue y = self.pres_to_pix(p) drawBarb( qp, self.barbx, y, dd, ss, color=color)
def drawBarbs(self, qp): x1 = self.brx / 10 y1 = self.bry / 19 origin_x = x1 * 8. pen = QtGui.QPen(QtGui.QColor('#0A74C6'), 1, QtCore.Qt.SolidLine) qp.setPen(pen) qp.setFont(self.label_font) rect0 = QtCore.QRect(x1 * 7, self.ylast + self.tpad, x1 * 2, self.label_height) qp.drawText(rect0, QtCore.Qt.TextDontClip | QtCore.Qt.AlignCenter, '1km & 6km AGL\nWind Barbs') if self.wind_units == "m/s": conv = tab.utils.KTS2MS else: conv = lambda s: s try: drawBarb(qp, origin_x, self.barby, self.prof.wind1km[0], conv(self.prof.wind1km[1]), color='#AA0000', shemis=(self.prof.latitude < 0)) drawBarb(qp, origin_x, self.barby, self.prof.wind6km[0], conv(self.prof.wind6km[1]), color='#0A74C6', shemis=(self.prof.latitude < 0)) except: logging.debug( "Couldn't draw the 1 or 6 km wind barbs on kinematics.py")
def drawBarbs(self, qp): x1 = self.brx / 10 y1 = self.bry / 19 origin_x = x1*8. pen = QtGui.QPen(QtGui.QColor('#0A74C6'), 1, QtCore.Qt.SolidLine) qp.setPen(pen) qp.setFont(self.label_font) rect0 = QtCore.QRect(x1*7, self.ylast + self.tpad, x1*2, self.label_height) qp.drawText(rect0, QtCore.Qt.TextDontClip | QtCore.Qt.AlignCenter, '1km & 6km AGL\nWind Barbs' ) drawBarb(qp, origin_x, self.barby, self.prof.wind1km[0], self.prof.wind1km[1], color='#AA0000') drawBarb(qp, origin_x, self.barby, self.prof.wind6km[0], self.prof.wind6km[1], color='#0A74C6')
def drawBarbs(self, qp): x1 = self.brx / 10 y1 = self.bry / 19 origin_x = x1 * 8. pen = QtGui.QPen(QtGui.QColor('#0A74C6'), 1, QtCore.Qt.SolidLine) qp.setPen(pen) qp.setFont(self.label_font) rect0 = QtCore.QRect(x1 * 7, self.ylast + self.tpad, x1 * 2, self.label_height) qp.drawText(rect0, QtCore.Qt.TextDontClip | QtCore.Qt.AlignCenter, 'AGL 1km & 6km\nBarbas de viento') drawBarb(qp, origin_x, self.barby, self.prof.wind1km[0], self.prof.wind1km[1], '#AA0000', self.prof.latitude) drawBarb(qp, origin_x, self.barby, self.prof.wind6km[0], self.prof.wind6km[1], '#0A74C6', self.prof.latitude)