我是一个数据可视化的新手,一直在使用Plotly dash来制作仪表盘。
虽然对于少量的图、输入和关系来说,功能是相当不错的,但是当数据集很大或者后端回调有很长很复杂的逻辑时,仪表板显然会变得非常滞后。
我发现plotly.js显然更快,但前端不允许像python后端那样容易使用pandas功能。
这就是为什么我正在寻求学习建立一个高性能的前端和后端,就像TradingView上的那样,它有一个伟大的UI/UX。
所以,我的想法是这样的。
建立一个处理大型数据库的flask后端,并使用类似pandas的libs来处理数据并发回可视化,有效地完成艰苦的工作。
有一个AJAX前台,用输入值触发后台,并更新Plotly图。
我显然是在重新发明轮子,但Plotly dash对大型仪表盘来说是不可行的。
还有什么其他的前端软件包用于输入部件,例如滑块、下拉式?
2
个回答
0
人赞同
在前端方面,如果你计划使用React,也许你可以考虑使用Recoil来解决渲染的问题。我猜你将不得不存储大的数据数组,这些数据可以由recoil中的atomFamily管理。
这个库是由Facebook自己开发的。它仍然被标记为实验性的很长一段时间,但看起来相当成熟。
你应该看一下这个主题,特别是这个
response
.
我现在用它来做一些小项目,我对它有很多乐趣。
0
人赞同
有趣的问题,我相信如果你有效地管理数据,Dash仍然可以成为可视化大型数据集的一个强大工具。
Some thoughts:
Pandas善于处理大数据,其预定义的聚合/查询/预处理函数比说在每一行上使用循环和单一函数更好地优化。确保某些操作不被重复,用Pandas对数据帧进行有效的预处理(即Pandas函数),将使你的仪表盘更加高效。