Open
Description
As well as Interact.jl Contributed Examples JuliaGizmos/Interact.jl#36 , it is good idea to collect examples using Dash.jl.
Here is my example
Code
# Usage: just run this code
# tested on Julia 1.4 and 1.5 and 1.6-DEV
using Dash
using DashHtmlComponents
using DashCoreComponents
using Plots
function powplot(n)
p = plot(x -> x^n, label = "y=x^$n", xlims=[0,1])
figure = (data = Plots.plotly_series(p), layout = Plots.plotly_layout(p))
figure
end
app =
dash(external_stylesheets = ["https://codepen.io/chriddyp/pen/bWLwgP.css"])
app.layout = html_div(style = Dict(:width => "50%")) do
html_h1("Hello Dash"),
html_div() do
html_div("slider", style = (width = "10%", display = "inline-block")),
html_div(dcc_slider(
id = "slider",
min = 0,
max = 9,
marks = Dict(i => "$i" for i = 0:9),
value = 1,
),style = (width = "70%", display = "inline-block"))
end,
html_br(),
dcc_graph(id = "power", figure = powplot(1))
end
callback!(app, Output("power", "figure"), Input("slider", "value")) do value
powplot(value)
end
run_server(app)
Result
Updated 2022/3/5
It seems the current Dash.jl does not work the example above.
I've fixed the example as below:
using Dash
using PlotlyJS
# Status `~/.julia/environments/v1.7/Project.toml`
# [1b08a953] Dash v1.1.2
function powplot(n)
x = 0:0.01:1
y = x .^ n
p = plot(x, y, mode="lines")
p.plot
end
app =
dash(external_stylesheets = ["https://codepen.io/chriddyp/pen/bWLwgP.css"])
app.layout = html_div(style = Dict(:width => "50%")) do
html_h1("Hello Dash"),
html_div() do
html_div("slider", style = (width = "10%", display = "inline-block")),
html_div(dcc_slider(
id = "slider",
min = 0,
max = 9,
marks = Dict(i => "$i" for i = 0:9),
value = 1,
),style = (width = "70%", display = "inline-block"))
end,
html_br(),
dcc_graph(id = "power", figure = powplot(1))
end
callback!(app, Output("power", "figure"), Input("slider", "value")) do value
powplot(value)
end
run_server(app)
Metadata
Metadata
Assignees
Labels
No labels