'Trigger which radio button to make active.
*index* is an index into the original label list
that this object was constructed with.
Raise ValueError if the index is invalid.
Callbacks will be triggered if :attr:`eventson` is True.'

def set_active(self, index):

    if (0 > index >= len(self.labels)):
        raise ValueError((u'Invalid    RadioButton    index:    %d' % index))
    self.value_selected = self.labels[index].get_text()
    for (i, p) in enumerate(self.circles):
        if (i == index):
            color = self.activecolor
        else:
            color = self.ax.get_facecolor()
        p.set_facecolor(color)
    if self.drawon:
        self.ax.figure.canvas.draw()
    if (not self.eventson):
        return
    for (cid, func) in six.iteritems(self.observers):
        func(self.labels[index].get_text())
