代码之家  ›  专栏  ›  技术社区  ›  BetterCallMe

在Plotly Dash中使用包含大数据的下拉组件时,浏览器崩溃

  •  0
  • BetterCallMe  · 技术社区  · 2 年前

    我使用Plotly Dash从大数据(1000000)点可视化热图,使用 Densitymapbox() . 大约30 MB的数据第一次从服务器缓慢地加载到浏览器中,平移和缩放也很慢,但浏览器不会崩溃。此30MB数据来自 dash-update-component . 我正在使用一个下拉列表来更改热图的比例。 然而,我观察到,当我从下拉菜单更改比例时,会调用回调函数,来自服务器的数据会再次加载到浏览器中,浏览器从此崩溃 仪表板更新组件 正在重新加载30 MB以上的数据。

    在从服务器加载数据之前,是否有任何方法可以清除浏览器缓存(从下拉列表中更改比例),以便浏览器不会崩溃。

    0 回复  |  直到 2 年前
        1
  •  0
  •   BetterCallMe    2 年前

    浏览器崩溃(抓拍),因为当我们加载dash应用程序时,它会将所需的所有数据从服务器提取到客户端。在这种情况下,假设服务器正在向客户端发送30 MB的数据,如果客户端(您的浏览器)无法处理此数据,则它将崩溃。仅供参考,这30 MB看起来可能很少,但它将消耗4 GB客户端RAM。 那么这里有什么选择呢?

    1. 尝试向客户端发送有限数量的随机数据。
    2. 使用Dash的relayOut回调。此回调将在客户端发送当前视图的角点坐标,并将调用回调函数。在回调函数中使用此角坐标,并将有限的数据发送回客户端。

    guy 已使用重新采样和重新发布回调。这将解决问题。您不需要使用该包,因为这会使代码复杂化,相反,您可以获取相关代码并使用它。