#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()