def plotroot(self, *names): out = OrderedDict() for n, (c, v) in zip(names, self.thresholds): if isinstance(n, (list, tuple)) and len(n) == 2: name, title = n else: name, title = n, "" out[c] = v.plotroot(name, title) def Draw(self, options=""): first = True for v in self.values(): v.Draw(options) if first: options = options + "same" first = False out.Draw = types.MethodType(Draw, out) return out