Dan*_*ein 5 python matplotlib scipy
使用Matplotlib,我可以使用"mySlider.val"获取Slider小部件的值,这非常方便.是否有相同的功能来获得当前选择的单选按钮?我认为这个问题是这个问题试图提出的问题,但提问者没有提供一个有效的例子.我提供了以下示例,指出我正在寻找的缺少的代码行.
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()
Run Code Online (Sandbox Code Playgroud)
这是输出的样子:
如果这是不可能的,你能建议一个优雅的解决方案吗?目前我正在使用单选按钮的"on_clicked"功能,并使用单选按钮的值设置全局变量,这很麻烦.
正如@tcaswell 所建议的,我向github 上的 matplotlib提交了一个拉取请求,现在可以查询 RadioButtons 的当前状态。缺少的代码行是:
radioValue = butRadio.value_selected
Run Code Online (Sandbox Code Playgroud)
计划将其合并到 matplotlib 的 1.5.x 版本中。同时,如果你想使用这个功能,你需要从 github下载matplotlib的开发版本(或者,至少下载 'widgets.py' 文件)。
现在已将其合并到 Matplotlib (1.5.3) 的当前版本中。(请参阅Widets 文档。)如果上面的这行不起作用,您可能只需更新 Matplotlib。
归档时间: |
|
查看次数: |
2391 次 |
最近记录: |