Plotly与Jupyter仪表盘相比,Dash by Plotly的优缺点是什么?

2024-05-23 22:42:38 发布

您现在位置:Python中文网/ 问答频道 /正文

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

各有哪些利弊?

尤其是在多用户部署中?我还发现Plotly文档对于什么是开放源码以及数据是否上传到它们,或者是否可以脱机进行绘制,都非常不清楚?很明显,底层Plotly库有两种模式,但Dash在哪种模式下工作?


Tags: 项目方法web应用程序目标by开发人员模式
2条回答

免责声明:我写了破折号:)

我建议两种都试一下。破折号大约需要30分钟才能穿过tutorial

我也建议你去看看:

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

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

I also found the Plotly documentation quite unclear on what exactly is Open Source and whether the data gets uploaded to them or if the plotting can be done offline?

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

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

In particular in a multi-user deployment? There are clearly two modes for the underlying Plotly library but what mode does Dash operate in?

  • 达什是麻省理工学院授权的。您可以在自己的服务器或计算机上运行Dash。
  • Dash使用Flask服务器,因此您可以像部署Flask应用程序一样部署Dash应用程序
  • Plotly许可证Dash Deployment Server,一种可以安装在您自己的基础设施上的服务器产品。Dash部署服务器是一个“PaaS”,它使在您自己的服务器上部署应用程序、SSO/LDAP身份验证、支持计划等变得容易。

好吧,对于一个jupyter仪表板是免费的,ploty仪表板我假设使用ploty库,其中jupyter仪表板可以使用任何模块/库。我今天刚刚完成了一个jupyter仪表盘的制作,可以从我们所有的CI系统中收集信息。这是难以置信的简单和诚实的乐趣。一旦你得到一个或两个数据源,添加一个新的或添加一个新的小部件和添加控制小部件是很容易的。

相关问题 更多 >