我公司目前有一個內部工程師開發的SVG圖形庫(遵循Wilkinson的圖形語法規定),他們渴望在基於瀏覽器的數據探索工具中重複使用。唯一的事情是這個庫提供靜態SVG圖像,而不支持任何交互。d3和batik:客戶端行爲的服務器端svg生成的優缺點
我正在尋找用Apache Batik替換一些自制代碼,並用javascript庫增強圖形以通過d3提供交互性。
例如,散點圖會在服務器端生成已知的css類,幷包含在用戶可以訪問的html頁面中,而該頁面又會利用d3.js和我們的javascript庫。在加載時,我們將選擇圖形並添加適當的鼠標懸停/點擊/縮放等。處理程序。
這似乎是理論上的工作,但我想知道我們是否忽略了某些東西。這是一種有效/可靠的做事方式,還是我們應該專注於創建交互式圖形而不是兩個圖形庫?
我認爲可能會出現問題的領域是流數據。在我看來,我們可以從一個靜態圖形開始,但是一旦你開始動態地創建點/線/等,你真的需要知道圖形所遵循的規則(例如,哪些變量實際映射到一條圖線,其顏色等等),這使得服務器和客戶端都需要冗餘定義。
所以......你怎麼看?
所以就是這樣。數據標記不正確,可能會導致我不得不重建客戶端上的整個圖形,而不是僅僅將其他數據點添加到圖形中。也許最好將有關綁定數據的信息嵌入到相應的svg元素屬性中?看起來我仍然需要爲數據提供規則映射到除了實際數據之外的各種可視屬性(大小,顏色等)。最後,是否有任何警告w.r.t.在現有的svg圖表上添加d3動畫/轉換? – Gopherkhan
除了數據綁定之外,不應該有任何問題。這可能會很棘手,是的。你可以用一種更容易的方式創建SVG。 –