Масштабирование радиомаяков 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.

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

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

Бен

One Solution collect form web for “Масштабирование радиомаяков Matplotlib”

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

 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) 

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

  • Как вы строите вертикальную линию на графике временного ряда в Пандах?
  • Python / Matplotlib - Быстрое обновление текста по осям
  • Matplotlib subplot y-scale scale перекрывается с графиком выше
  • Создание вывода Canvas из NetworkX
  • Нарисуйте / создайте Scatterplots наборов данных с NaN
  • Возможно ли отображение изображения на карте с помощью matplotlib?
  • Matplotlib: Написание текста справа налево (иврит, арабский и т. Д.)
  • Ошибка Matplotlib: «цифра включает в себя оси, которые не совместимы с tight_layout»
  • Python - лучший язык программирования в мире.