Exemple #1
0
def hydrograph_exercise():

    h = Hydrograph(ER, DD, dt=0.5)
    dd = Dropdown(options={
        'rainfall': 1,
        'unit hydrograph': 2
    },
                  value=1,
                  description='highlight')

    items = h.linked_widgets()
    hint = items.pop('hint')
    its = list(items.values())
    N = int(np.ceil(len(its) / 3.))
    items_list = [
        VBox(its[:N]),
        VBox(its[N:2 * N]),
        VBox(its[2 * N:]),
        VBox([dd, hint])
    ]

    items.update({'dd': dd, 'hint': hint})
    io1 = interactive_output(h.rainfall, items)
    io2 = interactive_output(h.unit_hydrograph, items)
    io3 = interactive_output(h.streamflow, items)
    io4 = interactive_output(h.hintbox, items)

    return VBox([HBox([io1, io2, io3]), io4, HBox(items_list)])
Exemple #2
0
def linear_example_with_loss():
    m, b = get_m_b_sliders()

    out = widgets.interactive_output(lambda m, b: plot_it(x, y, linear, m, b),
                                     {
                                         'm': m,
                                         'b': b
                                     })
    loss_text = widgets.interactive_output(
        lambda m, b: display(
            widgets.FloatText(value=round(mse(y, linear(x, m, b)), 3),
                              description='m. s. e. loss:',
                              disabled=False,
                              layout={'width': '100%'})), {
                                  'm': m,
                                  'b': b
                              })
    loss_plot(None, None, reset=True)
    loss_display = widgets.interactive_output(
        lambda m, b: loss_plot(mse(y, linear(x, m, b))), {
            'm': m,
            'b': b
        })
    display(
        widgets.VBox([
            widgets.HBox([out, loss_display]),
            widgets.VBox([m, b, loss_text])
        ],
                     layout=widgets.Layout(align_items='center')))
Exemple #3
0
    def explore_single_portrait(self):
        k_slider = widgets.IntSlider(min=2, max=14)
        cols = widgets.Dropdown(
            options=list(self.data.joined_data.columns.drop(["Gemeinde"])))
        input_ui = widgets.HBox([k_slider, cols])

        table_out = widgets.interactive_output(self.show_portrait_table, {
            'k': k_slider,
            'col': cols
        })
        boxplot_out = widgets.interactive_output(self.show_portrait_boxplot, {
            'k': k_slider,
            'col': cols
        })
        tab_headers = ["table", "boxplot"]

        tab_children = [
            table_out,
            boxplot_out,
        ]

        tabbed_view = widgets.Tab()
        tabbed_view.children = tab_children

        for i, title in enumerate(tab_headers):
            tabbed_view.set_title(i, title)

        return display(input_ui, tabbed_view)
    def __add_button_clicked(self, b):
        with self.add_button_output:
            clear_output()
            if len(self.list_of_join_tables) < 1:
                self.list_of_join_tables.append(
                    widgets.HBox([self.table_one, self.join_button]))
                self.table_one.options = [self.table_one.value]
                self.join_button.layout.visibility = 'hidden'

            join_table = widgets.Dropdown(
                options=self.__BFS(
                    self.joinable_dictionary,
                    self.list_of_join_tables[-1].children[0].value),
                description='Table',
                layout=widgets.Layout(flex='1 1 auto', width='auto'),
                style={'description_width': 'initial'})
            join_button = widgets.Button(
                description="ADD",
                icon='',
                style=widgets.ButtonStyle(button_color='#E58975'))
            join_button.on_click(self.__add_button_clicked)
            self.list_of_join_tables.append(
                widgets.HBox([join_table, join_button]))
            widgets.interactive_output(self.__change_columns,
                                       {'table': join_table})

            for table in self.list_of_join_tables[1:-1]:
                table.children[0].options = [table.children[0].value]
                table.children[1].layout.visibility = 'hidden'

            for x in self.list_of_join_tables[1:]:
                display(x)

            self.view_query_button.click()
Exemple #5
0
 def __get_table(self, service):
     try:
         self.service = pyvo.dal.TAPService(service)
         table_query = "SELECT table_name FROM tap_schema.tables"
         tables = self.service.search(table_query)
         self.table_list = [x.decode() for x in list(tables['table_name'])]
     except Exception:
         print("Service not found")
         return
     self.tables_dropdown = widgets.Dropdown(
         options=self.table_list,
         description='Table',
         layout=widgets.Layout(flex='1 1 auto', width='auto'),
         style={'description_width': 'initial'})
     self.join_button = widgets.Button(
         description="JOIN",
         icon='',
         style=widgets.ButtonStyle(button_color='#E58975'))
     self.join_button.on_click(self.__join_button_clicked)
     self.list_of_tables.append(self.tables_dropdown)
     self.table_text = widgets.Text(value=self.list_of_tables[0].value,
                                    description='')
     self.columns_select = widgets.interactive_output(
         self.__get_select_columns, {'table_text': self.table_text})
     self.columns = widgets.interactive_output(
         self.__set_columns, {'table_text': self.table_text})
     self.trigger_column = widgets.interactive_output(
         self.__trigger_column_widget, {'table': self.tables_dropdown})
     display(widgets.HBox([self.tables_dropdown, self.join_button]),
             self.table_join_out, self.columns_select, self.columns)
Exemple #6
0
    def _perform_bigram(self, condition: bool):

        if condition:
            top_bigram_widget = self.widget.int_slider(
                minimum=1,
                maximum=100,
                step=1,
                value=10,
                description="Word Range:")

            interact(self._bigram_stop_word_interaction,
                     condition=widgets.Checkbox(
                         description="Include Stop words in analysis"))

            widgets.interactive_output(self._bigram_interaction,
                                       {'top_bigram': top_bigram_widget})

            display(top_bigram_widget)

            bigram_button = widgets.Button(description='Start Analysis',
                                           tooltip='Start Bigram Analysis',
                                           button_style='info')

            bigram_button.on_click(self._start_bigram)
            display(bigram_button)
Exemple #7
0
def multi_checkbox_widget(sample_names):
    flatten = itertools.chain.from_iterable  #tool to flatten a nested list
    names = []
    checkbox_objects = []
    label_objects = []
    for name in sample_names:
        checkbox_objects.append(
            widgets.Checkbox(layout=widgets.Layout(width='50%')))
        label_objects.append(
            widgets.Label(name, layout=widgets.Layout(width='25%')))
        names.append(name)
    arg_dict = {
        names[i]: checkbox
        for i, checkbox in enumerate(checkbox_objects)
    }
    labels_checkboxes = list(flatten(zip(label_objects, checkbox_objects)))
    ui = widgets.HBox(labels_checkboxes,
                      layout=widgets.Layout(flex_flow='row wrap'))
    selected_data = []

    def select_data(**kwargs):
        selected_data.clear()
        for key in kwargs:
            if kwargs[key] is True:
                selected_data.append(key)

    display(ui)
    widgets.interactive_output(select_data, arg_dict)
    return (selected_data)
Exemple #8
0
def spectrogram_explorer(ax, signal):
    from IPython.display import display
    import ipywidgets as ipyw

    NFFT = ipyw.IntSlider(value=256, min=8, max=1024, step=1, description="NFFT:")
    shift = ipyw.IntSlider(value=128, min=8, max=1024, step=1, description="shift:")
    compress = ipyw.FloatLogSlider(value=0, base=10, min=-2, max=5, step=0.2, description="compress:")
    thresh = r_max = osc.max() * 1.2
    thresh_w = ipyw.FloatSlider(value=thresh, min=0, max=r_max, step=r_max / 100,
                                description="Threshold:", continuous_update=False)
    display(thresh_w)

    ax1.plot(time, osc)
    line, = ax1.plot((time[0], time[-1]), (thresh, thresh), 'k')
    points, = ax1.plot([], [], 'ro')

    def update(thresh):
        from quickspikes.tools import filter_times
        line.set_ydata((thresh, thresh))
        det = qs.detector(thresh, 40)
        spike_t = filter_times(det.send(osc), 10, osc.size - 20)
        if spike_t:
            spike_t = np.asarray(spike_t)
            spike_w = np.asarray(qs.peaks(osc, spike_t, 10, 20))
            plot_some_spikes(ax2, spike_w, color='k', alpha=0.2)
            points.set_xdata(time[spike_t])
            points.set_ydata(osc[spike_t])
        ax1.figure.canvas.draw()

    ipyw.interactive_output(update, {"thresh": thresh_w})
Exemple #9
0
def spike_detector(ax1, ax2, data, time):
    from IPython.display import display
    import ipywidgets as ipyw
    import quickspikes as qs

    osc = data.astype('d')

    thresh = r_max = osc.max() * 1.2
    thresh_w = ipyw.FloatSlider(value=thresh, min=0, max=r_max, step=r_max / 100,
                                description="Threshold:", continuous_update=False)
    display(thresh_w)

    ax1.plot(time, osc)
    line, = ax1.plot((time[0], time[-1]), (thresh, thresh), 'k')
    points, = ax1.plot([], [], 'ro')

    def update(thresh):
        from quickspikes.tools import filter_times
        line.set_ydata((thresh, thresh))
        det = qs.detector(thresh, 40)
        spike_t = filter_times(det.send(osc), 10, osc.size - 20)
        if spike_t:
            spike_t = np.asarray(spike_t)
            spike_w = np.asarray(qs.peaks(osc, spike_t, 10, 20))
            plot_some_spikes(ax2, spike_w, color='k', alpha=0.2)
            points.set_xdata(time[spike_t])
            points.set_ydata(osc[spike_t])
        ax1.figure.canvas.draw()

    ipyw.interactive_output(update, {"thresh": thresh_w})
Exemple #10
0
    def app(self):
        self._out = Output(layout=Layout(width="{}px".format(self.width+2),
                                         height="{}px".format(self.height+2),
                                         border='1px solid black'))
        sld_frame = IntSlider(description="Frame",
                              min=0, max=self.num_frames-1,
                              step=1, value=self.active_frame,
                              layout=Layout(width="{}px".format(self.width)))
        btn_play = Play(description="Animate",
                        min=0, max=self.num_frames-1,
                        step=1, value=self.active_frame,
                        interval=200)
        btn_fwrd = Button(description="▶▶", layout=Layout(width="auto"))
        btn_revs = Button(description="◀◀", layout=Layout(width="auto"))
        drd_model = Dropdown(description="Model",
                             options=list(range(self.num_models)),
                             value=self.active_model)
        drd_style = Dropdown(description="Style",
                             options=['sticks', 'ballsticks', 'vanderwaals',
                                      'default'],
                             value='default')
        int_delay = IntText(description="Delay (ms)", value=100,
                            layout=Layout(max_width="150px"))
        int_step = BoundedIntText(description="Step", value=1,
                                  min=1, max=self.num_frames,
                                  layout=Layout(max_width="150px"))
        ui = VBox([HBox([drd_model, drd_style]),
                   self._out,
                   HBox([VBox([int_step, int_delay]),
                         VBox([sld_frame,
                               HBox([btn_revs, btn_play, btn_fwrd])],
                              layout=Layout(align_items='center'))])],
                  layout=Layout(align_items='center'))

        def frame_fwrd(btn):
            if (sld_frame.value < sld_frame.max):
                sld_frame.value += 1

        def frame_revs(btn):
            if (sld_frame.value > sld_frame.min):
                sld_frame.value -= 1

        def frame_change(model, frame, style):
            with self._out:
                self.update(model=model, frame=frame, style=style)

        btn_fwrd.on_click(frame_fwrd)
        btn_revs.on_click(frame_revs)
        jslink((btn_play, "value"), (sld_frame, "value"))
        jslink((int_delay, "value"), (btn_play, "interval"))
        jslink((int_step, "value"), (btn_play, "step"))
        interactive_output(frame_change, {'model': drd_model,
                                          'style': drd_style,
                                          'frame': sld_frame})

        IPython.display.display(ui)
def indict_dsp(inpt, depth):
    """
INPUTS
inpt            (list of (lists) of dicts) diction
depth           (int) number of df

OUTPUTS
displayed df's with widgets

    """
    w_sel = ipw.IntSlider(min=1,
                          max=len(inpt),
                          value=1,
                          step=1,
                          description='Results Dataset: ',
                          width='auto',
                          style={'description_width': 'initial'})
    d_sel = ipw.IntSlider(min=1,
                          max=depth,
                          value=1,
                          step=1,
                          description='Equation: ',
                          width='auto',
                          style={'description_width': 'initial'})

    def in_dcts_dsp(in_dcts, depth, w, d):
        if depth == 1:
            display(in_dcts[w - 1])
        elif depth > 1:
            display(in_dcts[w - 1][d - 1])

    dict_out = ipw.interactive_output(in_dcts_dsp, {
        'in_dcts': ipw.fixed(inpt),
        'w': w_sel
    })

    if depth == 1:
        dict_out = ipw.interactive_output(
            in_dcts_dsp, {
                'in_dcts': ipw.fixed(inpt),
                'w': w_sel,
                'depth': ipw.fixed(depth),
                'd': ipw.fixed(1)
            })
        bx = ipw.VBox([w_sel, dict_out])
    elif depth > 1:
        dict_out = ipw.interactive_output(
            in_dcts_dsp, {
                'in_dcts': ipw.fixed(inpt),
                'w': w_sel,
                'depth': ipw.fixed(depth),
                'd': d_sel
            })
        bx = ipw.VBox([d_sel, w_sel, dict_out])

    return bx
 def getInstanceOfIntegerSlider(self, min=0, max=15, onUpdate=None):
     self.widgets = IntSlider(min=min, max=max)
     ui = HBox([self.widgets])
     if onUpdate == None:
         out = interactive_output(self.ListenerDefault,
                                  {'value': self.widgets})
     else:
         out = interactive_output(onUpdate, {'value': self.widgets})
     display(ui, out)
     return self.widgets
Exemple #13
0
 def interact_LD(self, L_dict, D_dict):
     # closure just capture self in function
     def update(L, D):
         self.update_plot(L, D)
     layout = Layout(width="50%")
     lw = FloatSlider(**L_dict, layout=layout, description="L")
     dw = FloatSlider(**D_dict, layout=layout, description="D")
     box = HBox([lw, dw])
     interactive_output(update, {'L': lw, 'D': dw})
     display(box)
Exemple #14
0
def circle_and_the_line():
    m, b = get_m_b_sliders()

    out = widgets.interactive_output(
        lambda m, b: plot_proba(class_inner, class_outer, linear, m, b), {
            'm': m,
            'b': b
        })
    loss_plot(None, None, reset=True)
    loss_display = widgets.interactive_output(
        lambda m, b: loss_plot(np.mean([
            binary_crossentropy(
                0, linear_sigmoid(class_inner_x, class_inner_y, m, b)),
            binary_crossentropy(
                1, linear_sigmoid(class_outer_x, class_outer_y, m, b))
        ]),
                               loss_name='b. c. e.'), {
                                   'm': m,
                                   'b': b
                               })

    acc_text = widgets.interactive_output(
        lambda m, b: display(
            widgets.FloatText(value=round(
                np.mean([
                    1 - accuracy(class_inner[1], linear(class_inner[0], m, b)),
                    accuracy(class_outer[1], linear(class_outer[0], m, b))
                ]), 3),
                              description='accuracy:',
                              disabled=False,
                              layout={'width': '100%'})), {
                                  'm': m,
                                  'b': b
                              })
    bce_text = widgets.interactive_output(
        lambda m, b: display(
            widgets.FloatText(value=round(
                np.mean([
                    binary_crossentropy(
                        0, linear_sigmoid(class_inner_x, class_inner_y, m, b)),
                    binary_crossentropy(
                        1, linear_sigmoid(class_outer_x, class_outer_y, m, b))
                ]), 3),
                              description='b. c. e. loss:',
                              disabled=False,
                              layout={'width': '100%'})), {
                                  'm': m,
                                  'b': b
                              })
    display(
        widgets.VBox([
            widgets.HBox([out, loss_display]),
            widgets.VBox([m, b, acc_text, bce_text])
        ],
                     layout=widgets.Layout(align_items='center')))
Exemple #15
0
    def h(b):
        if b=='From Dataset':
            automatic_entry=widgets.IntText(value=1,description='Enter row number of query:',
                                            style = {'description_width': 'initial'},layout= dict(max_width='250px'))
            listautomatic_entry=[automatic_entry]

            display(automatic_entry)

            def queryvalues1(**kwargs):
                list3=list(kwargs.values())
                outcome_index=dataname.columns.get_loc(outcome_name)
                rowdata=[]
                for i in dataname.loc[list3[0] , : ]:
                    rowdata.append(i)
                rowdata.pop(outcome_index)
                explore.queryvaluestouse=rowdata

            args3 = {
                f'arg{i}': child
                for i, child in enumerate(listautomatic_entry) }

            outtest3=widgets.interactive_output(queryvalues1, args3)

        elif b=='Manually Enter':
            inputq=[]

            inputs=[]
            index=-1
            for i in feature_names:
                index+=1
                if i in cont_feat:
                    cont_text=widgets.FloatText(value=0,layout=dict(max_width='250px'))
                    inputs.append(cont_text)

                else:
                    noncont_dropdown=widgets.Dropdown(options=dataname[i].unique(),layout= dict(max_width='250px'))
                    inputs.append(noncont_dropdown)

            justinputs=VBox(children=inputs)
            inputsandlabels=HBox(children=[justlabels,justinputs])

            inputq.append(inputsandlabels)
            query=VBox(children=inputq)
            display(query)

            def queryvalues(**kwargs):
                list2=list(kwargs.values())
                explore.queryvaluestouse=list2

            args2 = {
                f'arg{i}': child
                for i, child in enumerate(inputs) }

            outtest2=widgets.interactive_output(queryvalues, args2)
Exemple #16
0
    def history_ui():
        date_wid = widgets.DatePicker(description='Pick a Date',
                                     value=dt.datetime.today(),
                                     disabled=False)




        def filter_data(date):
            d = read(dr['MAT']+'Timesheet.pkl')
            date=dt.datetime(date.year,date.month,date.day)
            c1=(d['From']>date)*(d['To']<=date+pd.to_timedelta('23:59:59'))
            c11=d[c1]

            idx=[i for i in d.index if d['To'][i].day==d['From'][i].day+1]
            c12=d.loc[idx]
            c10=c12[(c12['To']>=date)*(c12['To']<=date+pd.to_timedelta('23:59:59'))]

            for j in ['From','To']:
                c11[j]=[c11[j].iloc[i].strftime('%H:%M:%S') for i in range(len(c11[j]))]

            c13=pd.concat((c10,c11))
            display(c13)

        def total_df(date):
            d = read(dr['MAT']+'Timesheet.pkl')
            date=dt.datetime(date.year,date.month,date.day)
            c1=(d['From']>pd.to_datetime(date))*(d['To']<=pd.to_datetime(date)+pd.to_timedelta('23:59:59'))
            c11=d[c1]

            idx=[i for i in d.index if d['To'][i].day==d['From'][i].day+1]
            c12=d.loc[idx]
            c10=c12[(c12['To']>=date)*(c12['To']<=date+pd.to_timedelta('23:59:59'))]
            c13=pd.concat((c10,c11))

            acts=sorted(list(set(c13['Activity'])))

            act1=pd.Series(acts)
            tot=[c13[c13['Activity']==j]['Duration'].sum() for j in act1]
            tot1=pd.Series(tot)
            tot2=pd.DataFrame({'Activity': act1,'Total Duration':tot1})
            tot2 = tot2.sort_values(by='Total Duration',ascending=False)
            tot2 = tot2.reset_index(drop=True)
            display(tot2)



        out1 = widgets.interactive_output(filter_data, {'date': date_wid})
        out2 = widgets.interactive_output(total_df, {'date': date_wid})

        ui = VBox([date_wid,HBox([out1,out2])])

        return ui
    def change_date_range(change):
        data = _date_filter(app_state['data'],
                            change['new'],
                            timestamp_column=timestamp_column).dropna(
                                subset=nuts_ids_columns, how='all')
        merged_dfs = [
            merge_df(data=data,
                     nuts_shapes=nuts_shapes,
                     nuts_ids_column=nuts_ids_column,
                     color_column=color_column,
                     level=level_selector.value,
                     levels=app_state['nuts_levels'])
            for nuts_ids_column in nuts_ids_columns
        ]
        app_state['vmax'] = np.max(
            [df[color_column].max() for df in merged_dfs])
        interactive_output(
            plot_cbar, dict(name=cmap_selector, logarithmic=logarithmic_cbox))

        m.layers = [l for l in m.layers if type(l) != ipyleaflet.LayerGroup]
        for merged_df, nuts_ids_column in zip(merged_dfs, nuts_ids_columns):
            table_columns = [
                '_timestamp', 'text_translated', 'num_persons', 'mode',
                *[col for col in nuts_ids_columns if col != nuts_ids_column]
            ]
            layer = get_shapes_heatmap(data=merged_df,
                                       nuts_ids_column=nuts_ids_column,
                                       color_column=color_column,
                                       info_widget_html=info_widget,
                                       vmin=app_state['vmin'],
                                       vmax=app_state['vmax'],
                                       full_data=app_state['full_data'],
                                       time_hist=time_hist,
                                       date_limits=change['new'],
                                       tweets_table=tweets_table,
                                       cmap=app_state['cmap'],
                                       table_columns=table_columns,
                                       logarithmic=app_state['logarithmic'])
            m.add_layer(layer)

        if 'full_groups' not in app_state:
            app_state['full_groups'] = [
                l.layers for l in m.layers if type(l) is ipyleaflet.LayerGroup
            ]

        cbar_widget.children = [
            interactive_output(
                plot_cbar,
                dict(name=cmap_selector, logarithmic=logarithmic_cbox))
        ]
Exemple #18
0
 def __get_select_columns(self, table_text):
     columns = self.__get_column_list(table_text)
     self.select_multiple_columns = widgets.SelectMultiple(
         options=columns,
         description='SELECT ',
         disabled=False,
         layout={
             'left': '-30px',
             'width': '770px'
         })
     #update the query on select_multiple chnage
     widgets.interactive_output(
         self.__update_on_multiple,
         {'select_multiple': self.select_multiple_columns})
     display(widgets.HBox([self.select_multiple_columns]))
    def initialise_notebook(self):
        ''' initialises the checkboxes for the jupyter notebook
        '''
        style = {'description_width': 'initial'}
        layout = Layout(flex='2 1 auto', width='auto')
        a = widgets.Text(placeholder='/path/to/simulation/data',
                         description='Simulation Base Directory:',
                         disabled=False,
                         layout=layout,
                         style=style)
        b = widgets.Text(placeholder='/path/to/output/directory',
                         description='Output Directory:',
                         disabled=False,
                         layout=layout,
                         style=style)
        c = widgets.Text(placeholder='Free_energy_summary.csv',
                         description='Free energy file:',
                         disabled=False,
                         layout=layout,
                         style=style)
        d = widgets.BoundedIntText(value=0,
                                   min=0,
                                   max=1000000,
                                   step=1,
                                   description='Number of frames to discard',
                                   layout=layout,
                                   style=style)
        e = widgets.Checkbox(False,
                             description='Plot Overlap matrices',
                             layout=layout,
                             style=style)
        f = widgets.Checkbox(
            False,
            description='Subsample data according to statistical inefficiency',
            layout=layout,
            style=style)
        g = widgets.Checkbox(False,
                             description='Generate Network analysis notebook',
                             layout=layout,
                             style=style)
        ui = widgets.VBox([a, b, c, d, e, f, g],
                          layout=Layout(display='flex',
                                        flex_flow='column',
                                        align_items='stretch',
                                        border='solid',
                                        width='100%'))

        def _func(a, b, c, d, e, f, g):
            print((a, b, c, d, e, f, g))

        self._out = widgets.interactive_output(_func, {
            'a': a,
            'b': b,
            'c': c,
            'd': d,
            'e': e,
            'f': f,
            'g': g
        })
        return ui
Exemple #20
0
    def __init__(self, spec, display_widget=True, display_value=False):
        self.columns = [
            widgets.Checkbox(value=False,
                             description=column['name'],
                             disabled=False) for column in spec
        ]
        self.rows_box = widgets.VBox(self.columns)

        self.value = widgets.ValueWidget()

        def update_output(*args):
            self.value.value = self.selected_columns

        for column in self.columns:
            column.observe(update_output, 'value')

        self.widgets = [widgets.Label('columns'), self.rows_box]

        update_output()

        if display_value and display_widget:

            def display_value(columns):
                print(columns)

            self.output = widgets.interactive_output(display_value,
                                                     {'columns': self.value})
            self.widgets.append(self.output)

        self.widget_container = widgets.VBox(self.widgets)

        if display_widget:
            display(self.widget_container)
Exemple #21
0
def get_linreg_interactive(input_data):
    df = input_data.copy()
    m = widgets.FloatSlider(description='m', min=0, max=5, step=0.25)
    c = widgets.FloatSlider(description='c', min=-2, max=2, step=0.25)
    e = widgets.FloatText(description='error')

    def f(m, c):
        fig = plt.figure(figsize=(10, 6))
        x = np.linspace(-10, 10, num=100)
        err = np.sum((df['y'] - (m * df['X'] + c))**2)
        e.value = err
        plt.plot(x, m * x + c)
        plt.scatter(df['X'], df['y'], c='r')
        plt.ylim(0, 4)
        plt.xlim(0, 1)
        plt.show()

    out = widgets.VBox([
        widgets.VBox([m, c, e]),
        widgets.interactive_output(f, {
            'm': m,
            'c': c
        })
    ])

    return out
Exemple #22
0
def lpm_models():
    a0, b0, c0 = [2.2e-3, 1.1e-1, 6.8e-3]
    dlog = 0.1
    a = FloatLogSlider(value=a0,
                       base=10,
                       description=r'$a$',
                       min=np.log10(a0) - dlog,
                       max=np.log10(a0) + dlog,
                       step=dlog / 10,
                       continuous_update=False)
    b = FloatLogSlider(value=b0,
                       base=10,
                       description=r'$b$',
                       min=np.log10(b0) - dlog,
                       max=np.log10(b0) + dlog,
                       step=dlog / 10,
                       continuous_update=False)
    dlog *= 5
    c = FloatLogSlider(value=c0,
                       base=10,
                       description=r'$c$',
                       min=np.log10(c0) - dlog,
                       max=np.log10(c0) + dlog,
                       step=dlog / 10,
                       continuous_update=False)
    io = interactive_output(plot_lpm_models, {'a': a, 'b': b, 'c': c})
    return VBox([HBox([a, b, c]), io])
def show():
    max_ = max_iter * n_scenes
    i = IntSlider(value=0, min=0, max=max_, continuous_update=False)
    play = Play(interval=2000, value=0, min=0, max=max_, step=1)
    jslink((play, 'value'), (i, 'value'))
    output = interactive_output(plot, dict(i=i))
    display(play, output)
Exemple #24
0
def Suspension():
    """
		Suspension function to be called from notebook.
	"""
    c_sldr = widgets.FloatSlider(3,
                                 min=0,
                                 max=3,
                                 step=0.1,
                                 description='c',
                                 continuous_update=False)
    m_sldr = widgets.FloatSlider(1,
                                 min=0.1,
                                 max=3,
                                 step=0.1,
                                 description='m',
                                 continuous_update=False)
    k_sldr = widgets.FloatSlider(1,
                                 min=0.1,
                                 max=3,
                                 step=0.1,
                                 description='k',
                                 continuous_update=False)

    return (widgets.VBox([
        widgets.HBox([c_sldr, m_sldr, k_sldr]),
        widgets.interactive_output(suspensionMain, {
            'c': c_sldr,
            'm': m_sldr,
            'k': k_sldr
        })
    ]))
def show():
    max_depth = 5
    depth = IntSlider(value=1, min=1, max=max_depth, continuous_update=False)
    play = Play(interval=1000, value=1, min=1, max=max_depth, step=1)
    jslink((play, 'value'), (depth, 'value'))
    output = interactive_output(plot, dict(depth=depth))
    display(play, output)
def structural():
    var = 0.1
    mtrue, ctrue = [2, 3]
    cmin, c0, cmax = [2.55, 3.05, 3.55]
    mmin, m0, mmax = [1.3, 2.1, 2.9]
    #p = Posterior(cmin=cmin,cmax=cmax,Nc=31,mmin=mmin,mmax=mmax,Nm=31,ctrue=ctrue,mtrue=mtrue,var=var)
    p = UberPosterior(N=41, var=var)
    zoom = Checkbox(value=False, description='zoom')
    options = Dropdown(options={
        'power-law': 1,
        'logarithmic': 2,
        'sinusoidal': 3
    },
                       value=2,
                       description='alternative model')
    zoom = Checkbox(value=False, description='zoom')
    xf = FloatSlider(value=3,
                     description=r'$x_f$',
                     min=2,
                     max=5,
                     step=0.5,
                     continuous_update=False)
    io = interactive_output(plot_structural, {
        'zoom': zoom,
        'option': options,
        'xf': xf,
        'p': fixed(p)
    })
    return VBox([HBox([zoom, options, xf]), io])
def posterior(Nm, Nc):
    mtrue, ctrue = [2, 3]
    cmin, c0, cmax = [2.55, 3.05, 3.55]
    mmin, m0, mmax = [1.3, 2.1, 2.9]
    m = FloatSlider(value=m0,
                    description=r'$m$',
                    min=mmin,
                    max=mmax,
                    step=(mmax - mmin) / Nm,
                    continuous_update=False)
    c = FloatSlider(value=c0,
                    description=r'$c$',
                    min=cmin,
                    max=cmax,
                    step=(cmax - cmin) / Nc,
                    continuous_update=False)
    p = Posterior(cmin=cmin,
                  cmax=cmax,
                  Nc=Nc,
                  mmin=mmin,
                  mmax=mmax,
                  Nm=Nm,
                  ctrue=ctrue,
                  mtrue=mtrue,
                  var=0.1)
    io = interactive_output(plot_posterior, {'m': m, 'c': c, 'p': fixed(p)})
    return VBox([HBox([m, c]), io])
Exemple #28
0
 def display_rel_change(self, minus_days=365):
     start = pd.Timestamp.today() - pd.DateOffset(days=minus_days)
     ia_start = widgets.DatePicker(description='Start Date', value=start)
     ia_height = widgets.IntSlider(value=700,
                                   min=200,
                                   max=1000,
                                   step=100,
                                   description='Height:',
                                   disabled=False,
                                   continuous_update=False,
                                   orientation='horizontal',
                                   readout=True,
                                   readout_format='d')
     ia_decimals = widgets.IntSlider(value=1,
                                     min=0,
                                     max=3,
                                     step=1,
                                     description='Decimals:',
                                     disabled=False,
                                     continuous_update=False,
                                     orientation='horizontal',
                                     readout=True,
                                     readout_format='d')
     controls = {
         'start': ia_start,
         'height': ia_height,
         'decimals': ia_decimals
     }
     ui = widgets.HBox([ia_start, ia_height, ia_decimals])
     out = widgets.interactive_output(self.scatter_rel_change, controls)
     display(ui, out)
def idisplay(array: np.ndarray, **kwargs) -> None:
    # inspired by https://github.com/fepegar/miccai-educational-challenge-2019/blob/master/visualization.py
    def get_widget(size, description):
        widget = widgets.IntSlider(
            min=0,
            max=size - 1,
            step=1,
            value=size // 2,
            continuous_update=False,
            description=description,
        )
        return widget

    shape = array.shape[:3]
    names = 'Sagittal', 'Coronal', 'Axial'
    widget_sag, widget_cor, widget_axi = [
        get_widget(s, n) for (s, n) in zip(shape, names)
    ]
    ui = widgets.HBox([widget_sag, widget_cor, widget_axi])
    args_dict = {
        'img_data': fixed(array),
        'idx_x': widget_sag,
        'idx_y': widget_cor,
        'idx_z': widget_axi,
        'verbose': fixed(False),
        'return_figure': fixed(True)
    }
    kwargs = {key: fixed(value) for (key, value) in kwargs.items()}
    args_dict.update(kwargs)
    out = widgets.interactive_output(display, args_dict)
    IPython.display.display(ui, out)
Exemple #30
0
    def jointplot(self, df) -> None:
        self._set_df(df)
        print(colored("\nJoint Plot:\n", "red", attrs=["bold"]))

        col = df.columns
        column_dropdown1 = self.widget.dropdown(
            col, col[0], "X-axis:")

        column_dropdown2 = self.widget.dropdown(
            col, col[0], "Y-axis:")

        kind = ["scatter", "kde", "hist", "hex", "reg", "resid"]

        kind_dropdown = self.widget.dropdown(
            kind, kind[0], "Kind:")

        hue_dropdown = self.widget.dropdown(
            col, None, "Hue:")

        items = [column_dropdown1, column_dropdown2,
                 kind_dropdown, hue_dropdown]

        joint_plot_ui = widgets.HBox(items)
        output = widgets.interactive_output(self._plot_joinplot, {
                                            'x': column_dropdown1, 'y': column_dropdown2, 'kind': kind_dropdown, "hue": hue_dropdown})

        display(joint_plot_ui, output)