Esempio n. 1
0
def update_columns2(n_clicks, ddvalues,
                    dfdata, 
                    dd1class, dd1value,
                    dd2class, dd2value,                    
                    ):

    if n_clicks < 1:
        print("no drop down values")
        return []

    else:
        list1 = []
        list2 = []
        
        list1.append(dd1class)
        list1.append(dd2class)

        list2.append(dd1value)
        list2.append(dd2value)

        zipped = zip(list1, list2)
        d = dict(zipped)


        all_pairs = [{j: d[j] for j in i} for i in it.combinations(d, 2)]

        data_pairsv = []
        data_pairsk = []
        data_pairsv1 = []
        data_pairsk1 = []


        for p in all_pairs:
            # print(list(p.values()))
            data_pairsv.append(list(p.values()))

        for p in all_pairs:
            # print(list(p.keys()))
            data_pairsk.append(list(p.keys()))

        for v in data_pairsv:
            data_pairsv1.append('vs'.join(v))

        for k in data_pairsk:
            data_pairsk1.append('vs'.join(k))

        zippedpairs = zip(data_pairsk1, data_pairsv1)
        finalpairs = dict(zippedpairs)
        
        for k,v in finalpairs.items():
            if v == "CATvsVAL":
                a = dt.decision([1,1,0,0,0,0])
            elif v == "CATvsLATvsLON":
                a = dt.decision([1,0,0,1,0,0])
            elif v == "LOCvsVAL":
                a = dt.decision([1,0,0,1,0,0])
            elif v == "DTEvsVAL":
                a = dt.decision([1,0,0,0,1,0])
            elif v == "VALvsVAL":
                a = dt.decision([1,0,0,0,0,1])
            elif v == "VALvsBOL" or v == "CATvsBOL":
                a = dt.decision([1,0,1,0,0,0])
            else:
                a = "None"
            finalpairs[k] = a[0]

        # print(finalpairs)

        for k,v in list(finalpairs.items()):
            if v == "N":
                del finalpairs[k]            
                    
        print(finalpairs)

        df = pd.read_json(dfdata)

        charts = []

        chartnum = 0

        for k,v in finalpairs.items():
            gcol = k.split('vs')
            xcol = gcol[0]
            ycol = gcol[1]
            xval = df[xcol]
            yval = df[ycol]
            chartnum+=1
            if v == "Bar":
                charts.append(dcc.Graph(id=f'auto-graph{chartnum}',
                        figure=cl.bar_function(xval,yval)))
            elif v == "Map":
                charts.append(dcc.Graph(id=f'auto-graph{chartnum}',
                        figure=cl.map_function(xval,yval)))
            elif v == "Rings":
                charts.append(dcc.Graph(id=f'auto-graph{chartnum}',
                        figure=cl.rings_function(xval,yval)))
            elif v == "Bubble":
                charts.append(dcc.Graph(id=f'auto-graph{chartnum}',
                        figure=cl.bubble_function(xval,yval)))
            elif v == "Table":
                charts.append(dcc.Graph(id=f'auto-graph{chartnum}',
                        figure=cl.table_function(xval,yval)))
            elif v == "Scatter":
                charts.append(dcc.Graph(id=f'auto-graph{chartnum}',
                        figure=cl.scatter_function(xval,yval)))
            elif v == "Pie":
                charts.append(dcc.Graph(id=f'auto-graph{chartnum}',
                        figure=cl.pie_function(xval,yval)))
            elif v == "Line":
                charts.append(dcc.Graph(id=f'auto-graph{chartnum}',
                        figure=cl.line_function(xval,yval)))

        return charts
Esempio n. 2
0
        ])


external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

app.layout = html.Div(children=[
    html.H1(children='Generate Charts Based on Actual User Feedback'),
    html.Div(children='''
        Select Which Columns you would like to be graphed
    '''),
    html.Div(generate_table(df)),
    dcc.Graph(id='example-graph', figure=cl.pie_function(a, b)),
    dcc.Graph(id='example-graph1', figure=cl.bar_function(c, b)),
    dcc.Graph(id='example-graph2', figure=cl.line_function(c, b)),
    dcc.Graph(id='example-graph3', figure=cl.scatter_function(c, b)),
    dcc.Graph(id='example-graph4', figure=cl.bubble_function(a, b)),
    dcc.Graph(
        id='example-graph5',
        figure=cl.map_function(a, b)
        # ),
        # dcc.Graph(
        #     id='example-graph6',
        #     children = cl.chart_function(a,b)
    )
])

if __name__ == '__main__':
    app.run_server(debug=True)