ixxmu / mp_duty

抓取网络文章到github issues保存
https://archives.duty-machine.now.sh/
122 stars 30 forks source link

谁是Python/R中最强Dashboard APP开发工具? #1854

Closed ixxmu closed 2 years ago

ixxmu commented 2 years ago

https://zhuanlan.zhihu.com/p/429709268

github-actions[bot] commented 2 years ago

谁是Python/R中最强Dashboard APP开发工具? by pythonic生物人

仪表盘 (Dashboard),可简单的理解为一个交互式网页,在其中,用户可以不懂代码,拖拖拽拽即可与数据交互、做数据探索建模分析、展示自己关注的结果

本文汇总了Python/R/Julia中5款仪表盘 (Dashboard)工具,简单比较其使用场景、学习难度、成熟度、支持语言等。


Dash

Dash和前面介绍的plotly出自同一家公司,可基于Python, R, Julia和 F#语言高效开发仪表盘,为机器学习和数据科学结果提供良好展示;
Dash专注于企业级仪表板的创建部分功能开源(人名币玩家可尝试全功能企业版本),高级API plotly-express的发布使Dash更容易上手;
一个简单的Python Dash例子,使用熟悉的iris数据集,代码存入dash.t.py中,内容如下,

import dashfrom dash import dccfrom dash import htmlfrom dash.dependencies import Input, Outputimport plotly.express as pxdf = px.data.iris()all_dims = ['sepal_length', 'sepal_width', 'petal_length', 'petal_width']app = dash.Dash(__name__)app.layout = html.Div([dcc.Dropdown(id="dropdown",options=[{"label": x,"value": x} for x in all_dims],value=all_dims[:2],multi=True),dcc.Graph(id="splom"),])@app.callback(Output("splom", "figure"), [Input("dropdown", "value")])def update_bar_chart(dims):fig = px.scatter_matrix(df, dimensions=dims, color="species")#plotly.express可视化return figapp.run_server(debug=True)

python dash.t.py
Dash is running on xxx/
浏览器中打开 xxx/

进一步学习:github.com/plotly/dash


Streamlit

相较于Dash,Streamlit只能基于Python开发仪表盘,但是完全开源
比Dash更容易上手,几分钟即可创建一个仪表盘,可节省更多时间做数据分析。
一个简单Python Streamlit例子,求任意数平方,代码存入stre.t.py中,内容如下,

import streamlit as stx = st.slider('Select a value')st.write(x, 'squared is', x * x)

streamlit run stre.t.py
You can now view your Streamlit app in your browser.Local URL: xx
打开xx

更复杂的例子,利用自动驾驶数据集,使用YOLO做对象检测,

进一步学习:github.com/streamlit/st


Shiny

Shiny是R中的工具,能非常友好的融合R中的其它工具,譬如ggplot2等,推荐R用户使用
Shiny功能不及Dash强大,特别是Dash的企业收费版本
一个例子,和ggplot2一样,创建的页面非常优雅,

进一步学习:github.com/rstudio/shin
shiny.rstudio.com/tutor


Voila

Jupyter Notebook重度玩家首选,Voila快速将Jupyter Notebook变成仪表盘;
Voila非常轻量级,当需要将Jupyter Notebook结果展示给非技术团队时推荐。
Python Voila一个简单例子

进一步学习:github.com/voila-dashbo


Panel

需要快速将Jupyter Notebook变成仪表盘,但是Voila又不能充分满足这个需求时,推荐Panel
进一步学习:github.com/holoviz/pane



比较结果

比较结果汇总,参考6个指标

  • 成熟度 (Maturity)
  • 知名度 (Popularity)
  • 上手难度 (Simplicity)
  • 应用灵活度 (Adaptability)
  • 聚焦场景 (Focus)
  • 支持语言 (Language support)

结果划分分A、B、C三个等级:



❤️参考:谁是Python/R/Julia中最强Dashboard APP开发工具?