
بنيت على قمة plotly.js ، react و http.jl ، يرتبط اندفاعة عناصر واجهة المستخدم الحديثة مثل المنسدلة ، المتزلج ، والرسوم البيانية مباشرة إلى رمز جوليا التحليلي.
فقط بدأت؟ تحقق من Dash for Julia Guide! إذا لم تتمكن من العثور على توثيق هناك ، فتحقق من الأمثلة غير الرسمية التي ساهمت بها أو تحقق من رمز المصدر من التطبيقات التجريبية في Python ثم الرجوع إلى نمط بناء جملة Julia.
يمكن إنشاء مكونات جوليا جنبا إلى جنب مع مكونات Python و R. هل أنت مهتم بالمشاركة في المشروع؟ الرعاية هي وسيلة رائعة لتسريع تقدم المشاريع المفتوحة المصدر مثل هذا ؛ لا تتردد في التواصل معنا!
لتثبيت أحدث إصدار تم إصداره:
pkg > add Dashلتثبيت أحدث إصدار من التطوير (مستقر) بدلاً من ذلك:
pkg > add Dash # dev using Dash
app = dash (external_stylesheets = [ " https://codepen.io/chriddyp/pen/bWLwgP.css " ])
app . layout = html_div () do
html_h1 ( " Hello Dash " ),
html_div ( " Dash.jl: Julia interface for Dash " ),
dcc_graph (id = " example-graph " ,
figure = (
data = [
(x = [ 1 , 2 , 3 ], y = [ 4 , 1 , 2 ], type = " bar " , name = " SF " ),
(x = [ 1 , 2 , 3 ], y = [ 2 , 4 , 5 ], type = " bar " , name = " Montréal " ),
],
layout = (title = " Dash Data Visualization " ,)
))
end
run_server (app) ثم انتقل إلى http://127.0.0.1:8050 في متصفحك لعرض تطبيق DASH!
using Dash
app = dash (external_stylesheets = [ " https://codepen.io/chriddyp/pen/bWLwgP.css " ])
app . layout = html_div () do
dcc_input (id = " my-id " , value = " initial value " , type = " text " ),
html_div (id = " my-div " )
end
callback! (app, Output ( " my-div " , " children " ), Input ( " my-id " , " value " )) do input_value
" You've entered $(input_value) "
end
run_server (app)callback! وظيفة.Output أو Input أو الكائنات State أو المتجهات / المتجهات من هذه الكائنات.(inputs..., states...) ، وتوفير قيمة إرجاع مع نفس عناصر الأرقام مثل عدد Output S لتحديثها. using Dash
app = dash (external_stylesheets = [ " https://codepen.io/chriddyp/pen/bWLwgP.css " ])
app . layout = html_div () do
dcc_input (id = " my-id " , value = " initial value " , type = " text " ),
html_div (id = " my-div " ),
html_div (id = " my-div2 " )
end
callback! (app,
Output ( " my-div " , " children " ),
Output ( " my-div2 " , " children " ),
Input ( " my-id " , " value " ),
State ( " my-id " , " type " )) do input_value, state_value
return ( " You've entered $(input_value) in input with type $(state_value) " ,
" You've entered $(input_value) " )
end
run_server (app) import dash
dash . html . Div
dash . dcc . Graph
dash . dash_table . DataTable using Dash
html_div
dcc_graph
dash_datatable كما هو الحال في Python ، فإن وظائف إعلان المكونات لها وسيطات كلمات رئيسية ، والتي هي نفسها كما في Python. html_div(id = "my-id", children = "Simple text") .
بالنسبة للمكونات التي تعلن عن children ، تتوفر توقيعات إضافية:
(children; kwargs..) و(children_maker::Function; kwargs...) لذلك يمكن للمرء أن يكتب html_div("Simple text", id = "my-id") للعناصر البسيطة ، أو اختيار بناء جملة مختصرة مع بناء جملة do للعناصر المعقدة:
html_div (id = " outer-div " ) do
html_h1 ( " Welcome " ),
html_div (id = " inner-div " ) do
#= inner content =#
end
end app = dash . Dash ( external_stylesheets = [ "https://codepen.io/chriddyp/pen/bWLwgP.css" ])
app . layout = html . Div ( children = [....])app = dash (external_stylesheets = [ " https://codepen.io/chriddyp/pen/bWLwgP.css " ])
app . layout = html_div () do
#= inner content =#
end @ app . callback ( Output ( 'output' , 'children' ),
Input ( 'submit-button' , 'n_clicks' )],
State ( 'state-1' , 'value' ),
State ( 'state-2' , 'value' ))
def update_output ( n_clicks , state1 , state2 ):
# logic callback! (app,
Output ( " output " , " children " ),
Input ( " submit-button " , " n_clicks " )],
State ( " state-1 " , " value " ),
State ( " state-2 " , " value " )) do n_clicks, state1, state2
# logic
endتنقل تطبيقات DASH البيانات بين المتصفح (المعروف أيضًا باسم الواجهة الأمامية) وعملية جوليا التي تعمل على تشغيل التطبيق (المعروف أيضًا باسم الواجهة الخلفية) في JSON. يستخدم Dash.JL JSON3.JL للتسلسل JSON/Deserialization.
لاحظ أن JSON3.JL يتحول
Vector S و Tuple S إلى صفائف JSONDict S و NamedTuple S إلى كائنات JSON