运筹系列70:julia的交互界面
Posted IE06
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了运筹系列70:julia的交互界面相关的知识,希望对你有一定的参考价值。
1. Interact
1.1 安装
using Pkg;Pkg.add("Interact");Pkg.build("Interact")
using WebIO
WebIO.install_jupyter_nbextension()
此外,需要激活ipywidgets,在命令行中执行
jupyter nbextension enable --py widgetsnbextension
1.2 Interact简单使用
使用@manipulate宏
Range: slider.
Array/Dictionary: toggle buttons
String: text box
boolean: checkbox
number: spinbox
date or time: date picker
color: (from the Colors package.) color picker!
下面是个例子:
using Plots
x = y = 0:0.1:30
freqs = OrderedDict(zip(["π/4", "π/2", "3π/4", "π"], [π/4, π/2, 3π/4, π]))
mp = @manipulate for freq1 in freqs, freq2 in slider(0.01:0.1:4π; label="freq2")
y = @. sin(freq1*x) * sin(freq2*x)
plot(x, y)
end
1.3 Blink:窗口模式
julia> Pkg.add("Blink")
julia> Blink.AtomShell.install()
using Blink
ui = button()
display(ui)
w = Window()
body!(w, ui);
过一会就会出来一个窗口
下面是从窗口运行julia的例子
# Set up julia to handle the "press" message:
handle(w, "press") do args
@show args
end
# Invoke the "press" message from javascript whenever this button is pressed:
body!(w, """<button onclick='Blink.msg("press", "HELLO")'>go</button>""");
1.4 Mux:页面模式
using Mux
WebIO.webio_serve(page("/", req -> ui), 9000)
输入localhost:9000可以进行页面
1.5 交互
使用on函数即可
也可以使用匿名函数
2. Pluto
2.1 安装
打开julia,进入pkg模式,然后add Pluto,然后运行
import Pluto;
Pluto.run();
然后打开localhost:1234,界面如下:
2.2 交互
使用@bind + html
以上是关于运筹系列70:julia的交互界面的主要内容,如果未能解决你的问题,请参考以下文章
运筹系列79:使用Julia进行column generation求解