चेन किए हुए callbacks

Dash और Plotly के साथ डैशबोर्ड बनाना

Alex Scriven

Data Scientist

callbacks को चेन क्यों करें?

 

  • अब तक callbacks से होता है:
    • प्लॉट्स को दोबारा बनाना
    • HTML / टेक्स्ट बदलना

$$

  • अगर एक callback दूसरे को ट्रिगर करे तो?
    • यूज़ केस: कंडीशनल dropdown
Dash और Plotly के साथ डैशबोर्ड बनाना

एक आम उदाहरण

 

दो साथ-साथ dropdowns का GIF। पहले में placeholder "Make" और दूसरे में "Model"। जैसे ही माउस पहले dropdown में Audi चुनता है और फिर दूसरे पर जाता है, दिखता है कि दूसरे dropdown के विकल्प सिर्फ Audi मॉडलों तक फ़िल्टर हो गए हैं.

Dash और Plotly के साथ डैशबोर्ड बनाना

Inputs और outputs

  • ट्रिक: callback pathways (inputs और outputs) समझें
  • मददगार टूल: input-output डायग्राम

$$

  • फ़्लो:
    • यूज़र पहले dropdown की value बदलता है (INPUT)
    • एक callback दूसरे dropdown के options को subset कर लौटाता है (OUTPUT)
    • दूसरा callback, दूसरे dropdown की value प्रॉपर्टी से (INPUT) ट्रिगर हो सकता है.

एक फ़्लो चार्ट जिसमें आयताकार बॉक्स और लंबवत तीर हैं। बॉक्सों के बीच छोटे टेक्स्ट बॉक्स हैं। पहला बॉक्स "user" है, उससे तीर दूसरे बॉक्स "Major Category dropdown" की ओर है। बीच के छोटे बॉक्स में "value" लिखा है। इसके नीचे तीर "Minor category dropdown" की ओर है। बीच के टेक्स्ट बॉक्स में Options है। यह बॉक्स अगले अंतिम बॉक्स "(Optional) More callbacks" से तीर द्वारा जुड़ा है, बीच के टेक्स्ट बॉक्स में "Options" है.

Dash और Plotly के साथ डैशबोर्ड बनाना

Dash में chained callbacks

 

@callback(
  Output('minor_cat_dd', 'options'),
  Input('major_cat_dd', 'value'))

def update_major_cat(major_cat_dd): # Filter options (list of dicts) return minor_options

 

@callback(
  Output('minor_cat_dd', 'value'),
  Input('minor_cat_dd', 'options'))

def update_minor_cat(minor_cat_options): # Pick a default value return chosen_value
Dash और Plotly के साथ डैशबोर्ड बनाना

Multiple outputs

  • एक साथ कई elements अपडेट करना

$$

@callback(
  Output('my_title', 'children'),
  Output('minor_cat_dd', 'value'),
  Input('minor_cat_dd', 'options')
)
def some_function(input):
  # function body
  return title_value, dropdown_value
Dash और Plotly के साथ डैशबोर्ड बनाना

Multiple outputs डायग्राम

पिछले डायग्राम का विस्तारित फ़्लो चार्ट। अंतिम बॉक्स "(Optional) More callbacks" की जगह अब दो तीर दो साथ-साथ बॉक्सों की ओर हैं: "Minor Category Dropdown" और "HTML Title"। दोनों से तीर नीचे वाले वैकल्पिक बॉक्स की ओर हैं.

Dash और Plotly के साथ डैशबोर्ड बनाना

अभ्यास करते हैं!

Dash और Plotly के साथ डैशबोर्ड बनाना

Preparing Video For Download...