簡體   English   中英

d3js大型力導向圖服務器端仿真

[英]d3js large force-directed graph server side simulation

我正在創建一個帶有成千上萬個節點的力導向圖。

您可能會猜到,交互式模擬速度很慢,並且瀏覽器將被凍結,這在其他文章中也有所提及。

但是,靜態力導向圖對我來說還不夠,我仍然需要在節點之間用力操縱該圖以具有良好的布局。 我不太在乎模擬的平滑性。 我的目標是:1.瀏覽器不會被凍結; 2.我可以將節點從一個位置拖到另一個位置,並在每個刻度之間在節點之間施加力。 並且,可視化節點位置的時間間隔可能會更長。

我正在考慮將節點位置計算放在node.js中。 許多關於在服務器端預渲染d3圖的文章 ,但是我需要所有模擬計算都在服務器端進行,並與前端用戶進行交互。 因此,我可能還需要在node.js中將偵聽器注冊為“拖動”,“縮放”,“鼠標懸停”動作。

我不確定是否有簡單的方法可以做到這一點。

如何嘗試以下兩個選項之一:

  1. 在服務器上預渲染強制布局,然后在客戶端上重新運行d3.layout.force()。 因為節點已經被布局,所以不會持續很長時間,也不會凍結瀏覽器。 然后注冊所需的偵聽器?

  2. 在服務器上,生成具有其布局和事件綁定的圖形,並將其附加到DOM DocumentFragment 您可以使用客戶端JavaScript將此結構傳遞給客戶端,然后將其附加到瀏覽器DOM。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM