我的出发点是此链接的代码:
widgets example code: 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回调函数。
所以问题是,我可以调整单选按钮的大小以使其不重叠,或者它是否只是硬编码,而且按钮的数量是一个边缘情况,可以扩展原定的范围?
答案 0 :(得分:0)
您可以通过两个控制文本和单选按钮的选项
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})
如果您关心圆圈尺寸,请传递类似的内容,
circles = matplotlib.patches.Circle((0,0), radius=5)
我个人会让圈子自己处理,只是改变文字。