[Python] ipyweights Library

1 minute read

개요

ipyweights의 라이브러리 안에 있는 interact 함수를 사용함으로써 user interface control을 생성할 수 있습니다. 이를 통해 코드와 데이터를 상대적으로 확인할 수 있습니다.

1. Basic Interact

slider의 범위는 [-10,+3*10]이다.

1-1. Numeric Data

interact를 사용하기 위해서는 탐색하고자 하는 함수를 생성해야 한다.

from ipyweidgets import interact

def f(x):
    return x+1 

interact(f,x=10)

우리가 위의 slider를 움직일 때 해당 함수가 호출되고 함수를 통과해 나온 결과가 출력되는 것이다.

1-2. Bool Data

from ipywidgets import interact
def f(x,y):
    return x+y+1 

interact(f,x = True, y = False)

1-3. String Data

from ipywidgets import interact
def f(x,y):
    return x+y

interact(f,x = 'Hey', y = 'Hi')

위의 박스 안에 문자열을 따로 타이핑하면 그 결과가 아래에 출력된다.

fixed option

fixed 옵션을 사용하면 해당 변수는 값이 고정되게 된다.

from ipywidgets import interact
from ipywidgets import interact, interactive, fixed, interact_manual

def f(x,y):
    return x+y

interact(f,x = 1, y = fixed(20));

step option 사용

위의 옵션을 사용하지 않았을 때 slider의 default 범위는 [-10,+3*10]이다. 위의 옵션을 사용하여 slider의 범위를 지정해보자.

step 옵션을 사용하면 slider를 움직였을 때 증가되는 크기가 지정된 값만큼 증가된다. 아래의 결과는 슬라이더가 2씩 움직이는 것을 볼 수 있다.

from ipywidgets import interact
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets

def f(x):
    return x

# 1
interact(f, x=ipywidgets.IntSlider(min=-10, max=30, step=2));

# 2 
interact(f, x=(-10,30,2))

value 옵션 사용

value 옵션은 해당 변수 값에 초기화 값을 지정해줄 수 있다.

from ipywidgets import interact
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets

def f(x):
    return x

interact(f, x=ipywidgets.IntSlider(min=-10, max=30, value = 10));

min, max 옵션 사용

해당 옵션을 사용하는 2 가지 예를 보여 드리겠습니다.

from ipywidgets import interact
from ipywidgets import interact, interactive, fixed, interact_manual
import ipywidgets

def f(x):
    return x

# 1
interact(f, x=ipywidgets.IntSlider(min=-10, max=30));

# 2 
interact(f, x=(-10,30));

함수 자체에 변수 초기값 지정

def f(x = 5):
    return x 

interact(f, x=(-10,30,1))

Dropdown menu UI 사용 (feat. passing a list of strings)

def f(x):
    return x 

interact(f, x=['apples','oranges']);

dropdown의 또 다른 표현

(x,y) x는 dropdown menu에서 이름이고, y는 이름에 해당하는 값이다.

def f(x):
    return x 

interact(f, x = [('one',10),('two',20)])