【问题标题】:How can i shape a button with matplotlib widget?如何使用 matplotlib 小部件塑造按钮?
【发布时间】:2019-06-05 17:15:30
【问题描述】:

我想平滑按钮的边缘,更改默认的矩形形状。

这是我用来创建按钮的代码:

axImg = plt.axes([0.25, 0.45, 0.2, 0.09])

bnI = Button(axImg, 'Enter', color='0.9')

bnI.hovercolor = "blue"

bnI.label.set_fontsize(18),

【问题讨论】:

    标签: python matplotlib button widget


    【解决方案1】:

    您无法对按钮本身进行造型,因为它本质上只是一个轴,而轴是矩形的。 (当然可以使用不同的轴,比如极轴,但那将是完全圆的。)

    但是,可以将 FancyBboxPatch 放入轴中,并赋予其一些圆边。

    import matplotlib.pyplot as plt
    from matplotlib.widgets import Button
    import matplotlib.patches as mpatches
    
    bttn_ax = plt.axes([0.25, 0.45, 0.2, 0.09])
    bttn_ax.set_frame_on(False)
    
    bttn = Button(bttn_ax, 'Enter')
    bttn.label.set_fontsize(18)
    
    fancybox = mpatches.FancyBboxPatch((0,0), 1,1, 
                                       edgecolor="black",
                                       facecolor="0.9",
                                       boxstyle="round,pad=0.1", 
                                       mutation_aspect=3, 
                                       transform=bttn_ax.transAxes, clip_on=False)
    bttn_ax.add_patch(fancybox)
    
    bttn.on_clicked(lambda x: print("Click!"))
    
    plt.show()
    

    请注意,在这种情况下,悬停将不起作用,因为显示的是补丁,而不是轴。

    【讨论】:

      猜你喜欢
      • 2019-01-19
      • 2018-03-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多