Dash3. Callbacks – Basic

Published by onesixx on

Dash Tutorial : https://dash.plotly.com/basic-callbacks

callback functions이란

  • input 컴포넌트의 속성이 변할때, “자동으로” Dash에 의해 call되는 function
  • 어떤 event에 의해 호출되는 함수.
  • 다른 function의 인수로서 넘겨주는(호출되는) 실행 가능한 코드(함수)

참고> For optimum user-interaction and chart loading performance,
production Dash applications should consider the Job QueueHPCDatashader, and horizontal scaling capabilities of Dash Enterprise.

간단한 예제

Python

decorator –  @app.callback

input은 myInput의 value속성
Output은 id가 myOutput인 컴포넌트의 children 속성이다.
(Output의 children속성이 현재 없지만, 있다해도 input의 초기값으로 자동으로 입력된다.)

input이 변경될때마다, callback 데코레이터로 래핑된 함수가 자동으로 호출되고,
Dash는 해당 function(update_div)의 input 인수(val)에 새롭게 변경된 input의 값을 넘겨준다.
Dash는 function의 return값을 output의 속성에 업데이트한다. (style, option등도 가능)

dash.dependencies의 Input 객체는 callback 정의할x때 활용되고,
dcc.Input은 실제 컴포넌트 이다.

–>”Reactive Programming”. 엑셀처럼 한Cell이 변함에 따라, 다른 Cell이 자동으로 변화하는 것

ex> 간단한 input 예제

Python

ex> With Figure and Slider

Let’s take a look at another example where a dcc.Slider updates a dcc.Graph.

Python

ex> Multiple Inputs

어떤 “Output“은 여러개의 “Input” components를 가질수 있다.

5 Inputs

  • the value property of 2 dcc.Dropdown components
  • dcc.RadioItems components
  • dcc.Slider component

1 Output

  • figure property of the Graph component
Python

ex> Multiple Outputs

Python

ex> Chained Callbacks

outputs 과 inputs 함께 Chain할수 있다. : dynamic UIs

즉, 하나의 callback 함수의 output은 다른 callback함수의 input이 될수 있다는 뜻이다.
어떤 input이 업데이트되면 관련 callback의 output이 반응하고 이에 따라 chain된 input이 활성화된다.

Python

ex> With State

Input 이 변경될때마다 callback함수가 fire되는게 아니라,
form 형식으로 입력이 다끝나고 반영하는 경우

Python
Python
Categories: dash

onesixx

Blog Owner

guest
0 Comments
Inline Feedbacks
View all comments
0
Would love your thoughts, please comment.x
()
x