Shiny,一个高级的python库

Shiny,一个高级的python库

大家好,我是木木。今天给大家分享一个神奇的Python库,Shiny

Shiny是一个用于构建交互式Web应用程序的Python库。

通过简单的Python脚本,用户可以创建具有丰富交互性的仪表板和报表,而无需深入了解Web技术如HTML、CSS或JavaScript

Shiny,一个高级的python库
图源网络

特点概述

  • 易于使用
    • Shiny的设计初衷是让用户无需前端知识即可构建Web应用,其提供的各种小部件和布局控制手段极大简化了开发过程。
  • 高度可定制
    • 尽管易于上手,但Shiny也提供了丰富的定制选项,允许开发者根据需求调整应用的外观和功能,包括主题、布局和小部件样式。
  • 强大的反馈机制
    • Shiny应用能够实时反馈用户的交互操作,如滑块调整、选项选择等,这让数据的探索和展示变得更加直观和动态。

最佳实践

安装方法

pip install shiny

确保你的Python环境已经安装了pip工具。

基础功能实践

  1. 创建一个基本的Shiny应用

    Shiny使得创建Web应用变得简单直接。你只需要定义应用的UI(用户界面)和服务器逻辑即可。下面是一个简单的示例代码:

from shiny.express import input, render, ui
from shinywidgets import render_plotly

ui.page_opts(title="Penguins dashboard", fillable=True)

with ui.sidebar():
    ui.input_selectize(
        "var""Select variable",
        ["bill_length_mm""bill_depth_mm""flipper_length_mm""body_mass_g""year"]
    )
    ui.input_numeric("bins""Number of bins"30)

with ui.card(full_screen=True):
    @render_plotly
    def hist():
        import plotly.express as px
        from palmerpenguins import load_penguins
        return px.histogram(load_penguins(), x=input.var(), nbins=input.bins())
Shiny,一个高级的python库
图源网络
  1. 响应用户输入

    利用Shiny的响应式编程模型,你可以很容易地构建出响应用户输入的应用。以下是一个简单的示例,展示了如何根据动态创建,也可以通过用户的输入动态更新文本内容:

from shiny.express import input, render, ui

ui.input_slider("val""Slider label", min=0, max=100, value=50)

@render.text
def slider_val():
    return f"Slider value: {input.val()}"
Shiny,一个高级的python库
图源网络

高级功能示例

实现数据动态可视化

Shiny不仅仅是制作简单Web应用的工具,下面的应用程序允许用户上传一个 csv 文件,然后用它来呈现一个表:

import pandas as pd
from shiny import reactive, req
from shiny.express import input, render, ui

ui.input_file("file""Upload a csv file", accept=".csv")

@reactive.calc
def df():
    # req() stops execution until input.file() is truthy
    f = req(input.file())
    return pd.read_csv(f[0]['datapath'])

@render.data_frame
def table():
    # Output won't render until input.file() is truthy
    return render.DataGrid(df())
Shiny,一个高级的python库
图源网络

这段代码创建了一个Shiny应用,它会在用户访问时上传一个表格,提供了动态更新的视图。

小总结

Shiny 库提供了一种简单而强大的方式,让Python开发者能够快速构建和部署交互式Web应用。无论是想要分享数据分析结果、构建数据控制面板还是创建动态可视化项目,Shiny 都能成为你强有力的助手。


原文始发于微信公众号(木木夕咦):Shiny,一个高级的python库

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/241180.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!