Dlot by Plotly与Jupyter Dashboards的优缺点是什么? [关闭]

问题描述 投票:29回答:2

Dash by Plotly看起来是Python开发人员创建交互式Web应用程序的好方法,无需学习Javascript和前端Web开发。另一个具有类似目标和范围的伟大项目是Jupyter Dashboards

各自的优点和缺点是什么?

特别是在多用户部署中?我还发现Plotly文档很不清楚究竟什么是开源,以及数据是否上传到他们或者是否可以离线完成绘图?底层的Plotly库显然有两种模式,但Dash运行的模式是什么?

python jupyter-notebook plotly jupyter plotly-dash
2个回答
51
投票

免责声明:我写了Dash :)

我建议你试试这两个。短跑大约需要30分钟才能穿过tutorial

我还建议退房:

Dash有一些高级功能(这些功能在announcement letter中有更详细的介绍)

  • Dash应用程序需要很少的样板才能开始 - 一个简单的“hello world”Dash应用程序不到50行代码。
  • Dash应用程序完全由Python生成,甚至是HTML和JS
  • Dash Apps通过反应性Dash“callbacks”将交互式组件(下拉列表,图形,滑块,文本输入)与您自己的Python代码绑定在一起。
  • Dash应用程序是“被动的”,这意味着很容易推断具有多个输入,多个输出和依赖于其他输入的输入的复杂UI。
  • Dash Apps本质上是多用户应用程序,因为应用程序的“状态”完全在客户端:多个用户可以查看应用程序并拥有独立会话。
  • 由于Dash具有传统的无状态后端,因此通过扩展工作进程的数量,可以轻松扩展应用程序以服务数百或数千个用户。请求将发送给任何可用的工作人员,使少数工作人员能够为更多的会话提供服务。
  • Dash使用React.js来渲染组件,并包含一个plugin system,用于使用React创建自己的Dash组件。
  • Dash的Graph组件是交互式的,允许Dash应用程序作者编写响应于在图表上悬停,单击或选择点的应用程序。

我还发现Plotly文档很不清楚究竟什么是开源,以及数据是否上传到他们或者是否可以离线完成绘图?

听起来这是指plotly.py图形库。这是一个独立的库,而不是Dash。两个库都使用MIT许可的plotly.js库来创建图表。 plotly.js不向剧情服务器发送任何数据 - 它完全是客户端的。

plotly.py库包括将数据发送到您的在线图表帐户以进行托管,共享和编辑图表的方法,但它完全是选择加入的。同样,plotly.py是一个独立的库,而不是Dashplotly.py用于交互式图形,Dash用于创建交互式应用程序(可包括图表)。

特别是在多用户部署中?底层的Plotly库显然有两种模式,但Dash运行的模式是什么?

  • Dash是MIT许可的。您可以在自己的服务器或计算机上运行Dash。
  • Dash使用Flask服务器,因此您可以使用与部署Flask应用程序相同的方式部署Dash应用程序
  • Plotly许可Dash Deployment Server,这是一种可以安装在您自己的基础架构上的服务器产品。 Dash Deployment Server是一种“PaaS”,可以轻松地在您自己的服务器上部署应用程序,SSO / LDAP身份验证,支持计划等。

-2
投票

好吧,对于一个jupyter仪表板是免费的,情节仪表板,我会假设使用ploty库,其中jupyter仪表板可以使用你想要的模块/库。我今天刚刚完成了一个jupyter仪表板来汇总来自我们所有CI系统的信息。这非常容易,老实说很有趣。一旦获得一个或两个数据源,就可以轻松添加新的或添加新的小部件,同时添加控件小部件。

© www.soinside.com 2019 - 2024. All rights reserved.