Jupyter ipywidgets组件的使用及说明

 更新时间:2023年06月25日 08:43:25   作者:阿涛的一天  
这篇文章主要介绍了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()

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 利用python实现简单的情感分析实例教程

    利用python实现简单的情感分析实例教程

    商品评论挖掘、电影推荐、股市预测……情感分析大有用武之地,下面这篇文章主要给大家介绍了关于利用python实现简单的情感分析的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • 如何在Python中妥善使用进度条详解

    如何在Python中妥善使用进度条详解

    python的进度条有很多第三方库,有些做的比较炫酷,下面这篇文章主要给大家介绍了关于如何在Python中妥善使用进度条的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2022-04-04
  • 详解Python中DOM方法的动态性

    详解Python中DOM方法的动态性

    这篇文章主要介绍了详解Python中DOM方法的动态性,xml.dom模块在Python的网络编程中相当有用,本文来自于IBM官网的开发者技术文档,需要的朋友可以参考下
    2015-04-04
  • 解决python pandas读取excel中多个不同sheet表格存在的问题

    解决python pandas读取excel中多个不同sheet表格存在的问题

    这篇文章主要介绍了解决python pandas读取excel中多个不同sheet表格存在的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-07-07
  • Python之print函数里逗号和加号的区别及说明

    Python之print函数里逗号和加号的区别及说明

    这篇文章主要介绍了Python之print函数里逗号和加号的区别及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02
  • Python中json常见四种用法举例

    Python中json常见四种用法举例

    这篇文章主要给大家介绍了关于Python中json常见四种用法举例的相关资料,众所周知JSON是一种轻量级的数据交换格式,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2023-08-08
  • 基于Python打造高效便捷的目录结构生成器

    基于Python打造高效便捷的目录结构生成器

    这篇文章主要为大家详细介绍了如何使用Python开发一个目录结构生成器,它不仅能够帮助用户高效地生成文件夹目录结构,还具备了很多智能化的功能,感兴趣的小伙伴可以了解下
    2025-04-04
  • 聊聊基于pytorch实现Resnet对本地数据集的训练问题

    聊聊基于pytorch实现Resnet对本地数据集的训练问题

    本文项目是使用Resnet模型来识别蚂蚁和蜜蜂,其一共有三百九十六张的数据,训练集只有两百多张(数据集很小),运行十轮后,分别对训练集和测试集在每一轮的准确率,对pytorch实现Resnet本地数据集的训练感兴趣的朋友一起看看吧
    2022-03-03
  • python 爬取壁纸网站的示例

    python 爬取壁纸网站的示例

    这篇文章主要介绍了python 爬取壁纸网站的示例,帮助大家更好的理解和学习使用python爬虫,感兴趣的朋友可以了解下
    2021-03-03
  • 使用Django实现把两个模型类的数据聚合在一起

    使用Django实现把两个模型类的数据聚合在一起

    这篇文章主要介绍了使用Django实现把两个模型类的数据聚合在一起,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03

最新评论