Matplotlib单选按钮缩放

时间:2014-06-02 15:16:59

标签: python matplotlib

我的出发点是此链接的代码:

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回调函数。

所以问题是,我可以调整单选按钮的大小以使其不重叠,或者它是否只是硬编码,而且按钮的数量是一个边缘情况,可以扩展原定的范围?

1 个答案:

答案 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)

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