Масштабирование радиомаяков Matplotlib

Отправной точкой является код по этой ссылке:

код примера виджетов: radio_buttons.py

Все примеры имеют небольшое количество переключателей. Мне нужно больше, т.е. до 25. Я адаптировал код следующим образом с настройкой высоты осей для размещения большего количества кнопок:

rax = plt.axes([0.05, 0.1, 0.15, 0.7], axisbg=axcolor) radio3 = RadioButtons(rax, ('B1', 'B2', 'B3', 'B4', 'B5','B6', 'B7', 'B8', 'B9', 'B10')) 

Однако кнопки начинают перекрываться, и увеличение высоты осей просто увеличивает их, но не корректирует перекрытие.

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

Итак, вопрос в том, могу ли я изменить размер переключателей, чтобы они не перекрывались, или это просто жестко закодировано, и это количество кнопок – это краевой кейс, который растягивает пределы того, что изначально предназначалось?

С наилучшими пожеланиями,

Бен

Есть два варианта, которые вы можете передать, которые управляют текстом и переключателями

 labels A list of matplotlib.text.Text instances circles A list of matplotlib.patches.Circle instances 

Вместо передачи

 ('B1', 'B2', 'B3', 'B4', 'B5','B6', 'B7', 'B8', 'B9', 'B10') 

Если вам просто нужен текст, измените каждый элемент списка на что-то вроде:

 matplotlib.text.Text(text='B1',fontproperties={'size':12}) 

Если вы заботитесь о размерах круга, то передайте что-то вроде:

 cicles = matplotlib.patches.Circle((0,0), radius=5) 

Я лично позволю кругам справляться с собой и просто изменить текст.