Jupyter ipywidgets组件的使用及说明
作者:阿涛的一天
这篇文章主要介绍了Jupyter ipywidgets组件的使用及说明,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
Jupyter ipywidgets组件使用
ipywidgets
ipywidgets可以用于在jupyter notebook当中进行界面设计,以及一些简单的交互式控件操作。
SelectMultiple(复选框框组件取值)
from ipywidgets import interact,widgets from ipywidgets import interact from ipywidgets import Button, Layout #样例列表 test_list = ['first','second','third','forth','fifth','sixth'] productcode = widgets.SelectMultiple( options=test_list, #可选参数 value=[test_list[0]], #默认选项 rows=6, #显示行数 description='产品代码:', #描述信息 disabled=False #是否不可用 ) #提交按钮 submit_buttom = widgets.Button( description='提交', layout=Layout(width='30%', height='50px'), button_style='success' ) #触发函数 def btn_click(sender): print(productcode.value) #绑定触发函数 submit_buttom.on_click(btn_click) #组件展示 display(productcode,submit_buttom)
执行效果
DatePicker(获取日期组件的值)
from ipywidgets import interact,widgets from ipywidgets import interact from ipywidgets import Button, Layout current_time = widgets.DatePicker( description='生成日期:', disabled=False ) submit_buttom = widgets.Button( description='提交', layout=Layout(width='30%', height='50px'), button_style='success' ) def btn_click(sender): print(current_time.value) submit_buttom.on_click(btn_click) display(current_time,submit_buttom)
执行效果
DatePicker(获取日期组件的值)
from ipywidgets import interact,widgets from ipywidgets import interact from ipywidgets import Button, Layout Dropdown_test = widgets.Dropdown(description='饼图1:',options=[("必选项", 1), ("展示", 2) ,("不展示", 3)], index=0, value=1, label="必选项") def chosen(_): print("Selected index:{}, value:{}, label:{}".format(pie_first.index, pie_first.value, pie_first.label)) pie_first.observe(chosen, names="value") submit_buttom = widgets.Button( description='提交', layout=Layout(width='30%', height='50px'), button_style='success' ) def btn_click(sender): print(Dropdown_test.label) submit_buttom.on_click(btn_click) display(Dropdown_test,submit_buttom)
交互控件ipywidgets在jupyter notebook中的使用
ipywidgets是已集成到anaconda中的一款非常简单好用的交互控件。
本文以三个常用的例子展示ipywidgets的使用,更为详细的用法可参考官网ipywidgets
import numpy as np import matplotlib.pyplot as plt import ipywidgets as widgets
简单交互图
def func(a, b, color, title, text): x = np.linspace(0,10,10) plt.plot(a*x+b, c=color) if title: plt.title(text) widgets.interactive(func, a=[1,2,3], b=(100,200,0.5), color=["r", "b"], title=True, text="interactive fig")
利用播放器绘制动态图
play = widgets.Play( value=50, min=0, max=100, step=1, description="Press play", disabled=False ) def func(b): x = np.linspace(0,10,100) plt.plot(np.sin(x+b/10.0)) plt.title(f"b is {b}") plt.show() widgets.interactive(func, b=play)
为播放器添加进度条
play = widgets.Play( value=50, min=0, max=100, step=1, description="Press play", disabled=False ) # slider = widgets.IntSlider() slider = widgets.IntProgress() widgets.jslink((play, 'value'), (slider, 'value')) ui = widgets.HBox([play, slider]) out = widgets.interactive_output(func, {"b":play}) display(ui, out)
Output()
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。