【问题标题】:Matplotlib Radio Button ScalingMatplotlib 单选按钮缩放
【发布时间】:2018-09-11 18:12:51
【问题描述】:

我的出发点是这个链接的代码:

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

所以问题是,我可以将单选按钮的大小调整为不重叠还是只是硬编码,而按钮的数量是一个边缘情况,会超出最初预期的限制?

【问题讨论】:

    标签: python matplotlib


    【解决方案1】:

    您可以通过两个选项来控制文本和单选按钮

    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)
    

    我会亲自让圈子自己处理并更改文本。

    【讨论】:

    • 您不能将圈子传递给RadioButtons.__init__。我猜你没有正确阅读文档,因为 circles 在属性部分提到:matplotlib.org/stable/api/…
    猜你喜欢
    • 1970-01-01
    • 2022-08-20
    • 1970-01-01
    • 1970-01-01
    • 2018-05-18
    • 2012-10-05
    • 1970-01-01
    • 2019-08-01
    • 1970-01-01
    相关资源
    最近更新 更多