使用Matplotlib,我可以通过使用迈斯利德.val“,非常方便。是否有同等的能力来获取单选按钮的当前选择?我认为这个问题就是this question试图问的问题,但是提问者没有提供一个有效的例子。我提供了下面的示例,指出我要查找的代码缺失行。在
from matplotlib.widgets import RadioButtons, Button, Slider
import matplotlib.pyplot as plt
axSlider = plt.axes([0.1, 0.8, 0.4, 0.05])
aSlider = Slider(axSlider,'A slider', 0,1, valinit=0.5)
axRadio = plt.axes([0.1, 0.2, 0.3, 0.4])
butRadio = RadioButtons(axRadio, ('Top','Middle','Bottom'))
axStatus = plt.axes([0.5, 0.2, 0.3, 0.4])
bStatus = Button(axStatus,'Get status of radio buttons')
def get_status(val):
#radioValue = ???? -- Need this line of code.
radioValue = 0
sliderValue= aSlider.val
print 'Slider value: %.2f, Radio button value: %.2f'%(sliderValue,radioValue)
bStatus.on_clicked(get_status)
plt.show()
输出如下:
如果这是不可能的,你能建议一个优雅的工作环境吗?目前,我正在使用单选按钮的“onhuclicked”函数,并用单选按钮的值设置全局变量,这很混乱。在
最简单的答案是:
只是无意中发现了这篇文章对同一个问题进行了研究。他们还没有对matplotlib进行任何更新,尽管我在这里找到了一篇关于从matplotlib的checkbutton检索值的相关帖子:Retrieving the selected values from a CheckButtons object in matplotlib
总结一下答案,就是保留一个
dict
,其中为每个按钮存储一个变量。每当按下按钮时,让事件处理程序更改dict
中的必要值,然后其他函数可以根据需要访问这些值,而不是仅在事件处理程序中捕获值。在希望这有帮助!我知道我不想玩弄matplotlib的源代码
根据@tcaswell的建议,我向github上的matplotlib提交了一个pull request,现在可以查询单选按钮的当前状态了。缺少的代码行是:
这将被纳入matplotlib的1.5.x版本中。同时,如果你想使用这个特性,你需要下载matplotlib from github的开发版本(或者至少下载'小工具.py'文件)。这一点现在已经包含在Matplotlib(1.5.3)的当前版本中。(请参阅Widets Docs)如果上面这行代码不起作用,您可以只更新Matplotlib。在
相关问题 更多 >
编程相关推荐