第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Plotly Dash 下拉菜單 python

Plotly Dash 下拉菜單 python

小怪獸愛吃肉 2022-12-20 12:32:28
我想添加一個(gè)下拉菜單以僅顯示一個(gè)數(shù)字。我的意思是,如果我選擇無花果,破折號(hào)必須只顯示無花果,如果我選擇無花果 2,破折號(hào)必須顯示無花果 2。這可能嗎?我的代碼是一個(gè)例子,我有 500 多個(gè)無花果。import dashimport dash_core_components as dccimport dash_html_components as htmlimport plotly.graph_objects as go # or plotly.express as pxfig = go.Figure()fig2 = go.Figure()fig.add_trace(go.Scatter(y=[4, 2, 1], mode="lines"))fig2.add_trace(go.Bar(y=[2, 1, 3]))figs = [fig, fig2]div = []for item in figs:    div.append(dcc.Graph(figure=item))app = dash.Dash()app.layout = html.Div(div)"""add a dropdown to show only one fig"""app.run_server(debug=True, use_reloader=False)
查看完整描述

2 回答

?
達(dá)令說

TA貢獻(xiàn)1821條經(jīng)驗(yàn) 獲得超6個(gè)贊

是的,有可能。


首先,您需要?jiǎng)?chuàng)建包含圖形名稱/文件名或您想要的標(biāo)識(shí)符的下拉列表,只需保留{'label': x, 'value': x}選項(xiàng)參數(shù)的結(jié)構(gòu)即可。label是您將在下拉列表中看到的內(nèi)容,value并將傳遞給回調(diào)(見下文)。


fig_names = ['fig1', 'fig2']

fig_dropdown = html.Div([

    dcc.Dropdown(

        id='fig_dropdown',

        options=[{'label': x, 'value': x} for x in fig_names],

        value=None

    )])

接下來,您需要一個(gè)空白的 div(帶有id),其中將顯示繪圖:


fig_plot = html.Div(id='fig_plot')

現(xiàn)在創(chuàng)建一個(gè)回調(diào)。id='fig_dropdown'當(dāng)更改帶有 的輸入時(shí),value參數(shù)將傳遞給update_output函數(shù)。此函數(shù)的輸出將傳遞給傳遞給div的children參數(shù)。id='fig_plot'


@app.callback(

dash.dependencies.Output('fig_plot', 'children'),

[dash.dependencies.Input('fig_dropdown', 'value')])

def update_output(fig_name):

    return name_to_figure(fig_name)

該name_to_figure(fig_name)函數(shù)返回一個(gè)dcc.Graph()對(duì)象,其中包含您的圖形,具體取決于fig_name下拉列表的值。


完整示例:


import dash

import dash_core_components as dcc

import dash_html_components as html

import plotly.graph_objects as go # or plotly.express as px



app = dash.Dash()


fig_names = ['fig1', 'fig2']

fig_dropdown = html.Div([

    dcc.Dropdown(

        id='fig_dropdown',

        options=[{'label': x, 'value': x} for x in fig_names],

        value=None

    )])

fig_plot = html.Div(id='fig_plot')

app.layout = html.Div([fig_dropdown, fig_plot])


@app.callback(

dash.dependencies.Output('fig_plot', 'children'),

[dash.dependencies.Input('fig_dropdown', 'value')])

def update_output(fig_name):

    return name_to_figure(fig_name)


def name_to_figure(fig_name):

    figure = go.Figure()

    if fig_name == 'fig1':

        figure.add_trace(go.Scatter(y=[4, 2, 1]))

    elif fig_name == 'fig2': 

        figure.add_trace(go.Bar(y=[2, 1, 3]))

    return dcc.Graph(figure=figure)


app.run_server(debug=True, use_reloader=False)

http://img1.sycdn.imooc.com//63a13afd0001527a06550450.jpg

查看完整回答
反對(duì) 回復(fù) 2022-12-20
?
FFIVE

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超6個(gè)贊

如果您的下拉框中有很多無花果可供選擇,可能需要對(duì)代碼進(jìn)行以下更改才能實(shí)現(xiàn):


@app.callback(Output('fig_plot', 'figure'), [Input('fig_dropdown', 'value')])

def cb(plot_type):

    plot_type = plot_type if plot_type else 'fig1'

    df_year = head_db.copy()

    if plot_type:

        return px.bar(df_year, x='Week #', y=str(plot_type), color='Name')


查看完整回答
反對(duì) 回復(fù) 2022-12-20
  • 2 回答
  • 0 關(guān)注
  • 254 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)