Виджет Matplotlib с использованием радиокнопок не работает

#python-3.x #matplotlib

Вопрос:

У меня есть список переменных, и я пытаюсь использовать переключатель внутри гистограммы, чтобы позволить пользователю выбрать, какую переменную они хотят видеть на графике. Я могу нажать на виджет, но функция запуска события не работает, и никаких ошибок не отображается. Есть ли способ включить эти ошибки в записных книжках Jupyter?

Вот минимальный рабочий пример:

 import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider, Button, RadioButtons

# generate 4 random variables from the random, gamma, exponential, and uniform distributions
x1 = np.random.normal(-2.5, 1, 10000)
x2 = np.random.gamma(2, 1.5, 10000)
x3 = np.random.exponential(2, 10000) 7
x4 = np.random.uniform(14,20, 10000)
x = [x1,x2,x3,x4]

# Generate figure
fig = plt.figure(figsize=(9.5,4.5))
ax = plt.hist(x[0], bins=20, color=colors[0], alpha =0.5, density=True)

# Widget setup
rax = plt.axes([0.05, 0.7, 0.15, 0.15])
radio = RadioButtons(rax, ('Dist1','Dist2','Dist3','Dist4'))
colors = ['b','y','g','r']

def onclick(label):
    choices = { "Distribution 1": 0,     "Distribution 2": 1,     "Distribution 3": 2,     "Distribution 4": 3}
    idx=choices[label]
    ax.cla()
    ax.hist(x[idx], color=colors[idx], bins=20, density=True)
    fig.canvas.draw_idle()

radio.on_clicked(onclick)
plt.show()