Matplotlib单选按钮缩放



我的起点是这个链接中的代码:

小部件示例代码:radio_button .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})

如果你关心圆圈的大小那么传递一些东西,比如

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

我个人会让圆圈自己处理,只是改变文本。

最新更新