matplotlib
Julia

Juliaでインタラクティブプロット(Check Button編)

本稿ではJuliaによるmatplotlibを使ったインタラクティブプロット(Check Button編)について紹介します.
基本的には本家サイトにあるmatplotlib.widgetsのサンプルソースの移植版です.

check_buttons.jl
#Translated from python to julia (reffer to https://matplotlib.org/examples/widgets/check_buttons.html)
#Julia v0.6.2
#PyCall v3.6.4

using PyCall
using PyPlot

const CheckButtons = matplotlib[:widgets][:CheckButtons]

t = 0.0:0.01:2.0
s0 = sin.(2*π*t)
s1 = sin.(4*π*t)
s2 = sin.(6*π*t)

fig, ax = subplots()
l0, = plot(t, s0, visible=false, lw=2)
l1, = plot(t, s1, lw=2)
l2, = plot(t, s2, lw=2)
subplots_adjust(left=0.2)

rax = axes([0.01, 0.4, 0.1, 0.15])
check = CheckButtons(rax, ("2 Hz", "4 Hz", "6 Hz"), (false, true, true))

function func(label)
    if label == "2 Hz"
        l0[:set_visible](!l0[:get_visible]())
    elseif label == "4 Hz"
        l1[:set_visible](!l1[:get_visible]())
    elseif label == "6 Hz"
        l2[:set_visible](!l2[:get_visible]())
    end
    draw()
end

check[:on_clicked](func)

show()

スクリーンショット 2018-05-10 21.16.16.png