def _get_color (self, value, asQColor=False, alpha=0.5): ''' Get interpolated color from value ''' if not len(self.vcolors): return (0.,0.,0.,self.alpha) elif len(self.vcolors) == 1: return self.vcolors[0][1] elif value < 0.0: return self.vcolors[0][1] elif value > 1.0: return self.vcolors[-1][1] sup_color = self.vcolors[0] inf_color = self.vcolors[-1] for i in xrange (len(self.vcolors)-1): if value < self.vcolors[i+1][0]: inf_color = self.vcolors[i] sup_color = self.vcolors[i+1] break r = (value-inf_color[0])/(sup_color[0]-inf_color[0]) if not asQColor: return (sup_color[1][0]*r + inf_color[1][0]*(1-r), sup_color[1][1]*r + inf_color[1][1]*(1-r), sup_color[1][2]*r + inf_color[1][2]*(1-r)) from PyQt4.QtGui import QColor q = QColor() q.setRedF(sup_color[1][0]*r + inf_color[1][0]*(1-r)) q.setGreen(sup_color[1][1]*r + inf_color[1][1]*(1-r)) q.setBlueF(sup_color[1][2]*r + inf_color[1][2]*(1-r)) q.setAlphaF(alpha) return q
def _get_color(self, value, asQColor=False, alpha=0.5): ''' Get interpolated color from value ''' if not len(self.vcolors): return (0., 0., 0., self.alpha) elif len(self.vcolors) == 1: return self.vcolors[0][1] elif value < 0.0: return self.vcolors[0][1] elif value > 1.0: return self.vcolors[-1][1] sup_color = self.vcolors[0] inf_color = self.vcolors[-1] for i in xrange(len(self.vcolors) - 1): if value < self.vcolors[i + 1][0]: inf_color = self.vcolors[i] sup_color = self.vcolors[i + 1] break r = (value - inf_color[0]) / (sup_color[0] - inf_color[0]) if not asQColor: return (sup_color[1][0] * r + inf_color[1][0] * (1 - r), sup_color[1][1] * r + inf_color[1][1] * (1 - r), sup_color[1][2] * r + inf_color[1][2] * (1 - r)) from PyQt4.QtGui import QColor q = QColor() q.setRedF(sup_color[1][0] * r + inf_color[1][0] * (1 - r)) q.setGreen(sup_color[1][1] * r + inf_color[1][1] * (1 - r)) q.setBlueF(sup_color[1][2] * r + inf_color[1][2] * (1 - r)) q.setAlphaF(alpha) return q