pipewidgets.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:berrl 作者: murphy214 项目源码 文件源码
def assemble_widget_dicts(field,values,widget_type,dictlist):
    # if an empty dictionary is input for dictlist overwrites an empty list
    if dictlist == {}:
        dictlist = []

    # instantiating widget for integer slider
    if widget_type == 'IntSlider':
        minslider = widgets.IntSlider(description='Min ' + str(field),min=values[0],max=values[1],continuous_update=False)
        maxslider = widgets.IntSlider(description='Max ' + str(field),min=values[0],max=values[1],value=values[1],continuous_update=False)
        dictentry = {'type':'IntSlider','field':str(field),'widget':[minslider,maxslider]}
        dictlist.append(dictentry)
    # instantiating widget for float slider
    elif widget_type == 'FloatSlider':
        # getting significant figures of delta between min and maxx
        magnitude = determine_delta_magnitude([values[0],values[1]])

        # getting stepsize determined by the magnitude of difference
        # between min and max
        stepsize = 10 ** -(magnitude + 2)

        if stepsize < 10**-6:
             stepsize = 10 ** -6
        minvalue = round(values[0]-(.5*stepsize),magnitude+1)
        maxvalue = round(values[1]+(.5*stepsize),magnitude+1)

        # setting min and max slider
        minslider = widgets.FloatSlider(description='Min ' + str(field),min=minvalue,max=maxvalue,step=stepsize,value=minvalue,continuous_update=False)
        maxslider = widgets.FloatSlider(description='Max ' + str(field),min=minvalue,max=maxvalue,step=stepsize,value=maxvalue,continuous_update=False)

        # adding dictentry which will be updated to the widget dictlist
        dictentry = {'type':'FloatSlider','field':str(field),'widget':[minslider,maxslider]}
        dictlist.append(dictentry)
    elif widget_type == 'Dropdown':
        # given a list of unique categorical values returns widget with dropdown
        # for each value given
        print values
        dropdownwidget = widgets.Dropdown(description=str(field), options=values)
        dropdownwidget.padding = 4

        dictentry = {'type':'Dropdown','field':str(field),'widget':dropdownwidget}
        dictlist.append(dictentry)


    return dictlist

#assemble_widget_dicts('GEOHASH',['dnvfp6g'],'Dropdown',{})




# filters rows between a range and a field
# the range can contain either a float or an int
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号