我想用強制佈局(用於可視化圖形)做一些有點不同尋常的事情。星座和所有的東西都很有趣,但是對於時間序列數據,這並沒有什麼幫助。我希望能夠通過某個軸約束佈局,例如,根據它們在數據集中出現的時間來佈置節點,同時仍保留可視化的「彈性」。這可能使用d3嗎?約束d3.js強制顯示
5
A
回答
6
爲了詳細說明我的評論,是的,這是完全可能的。力佈局實際上並不定位節點本身,它只是計算位置。在tick
事件的處理程序中,您通常會提供處理定位的功能。在那裏,您可以添加限制節點如何移動的任意約束。
以stock examples之一爲例,您可以執行如下操作,將x座標限制在y的不受限制的預期位置的±10範圍內。
force.on("tick", function() {
node.each(function(d) {
var intended = scale(d.value);
d.x = d.px = Math.min(intended + 10, Math.max(intended - 10, d.px));
});
node.attr("cx", function(d) { return d.x; })
.attr("cy", function(d) { return d.y; });
});
這是另一個example,它使用強制佈局來定位標籤。在那裏,x位置被忽略(即恆定),只有y受佈局影響。
2
Webcola是一個用D3.JS創建基於約束的佈局的好工具。
相關問題
- 1. d3.js在選擇不具約束力
- 2. 顯示約束
- 3. Neo4J:強制關係約束
- 4. D3.js,強制圖,無法顯示節點的文本/標籤
- 5. D3.js強制佈局:顯示任何節點的根路徑
- 6. 複製列來強制約束?
- 7. 用d3.js繪製紐約街區
- 8. d3.js強制摺疊標籤
- 9. D3.js V4強制定向圖放大
- 10. d3.js強制佈局不運行
- 11. d3.js強制定向圖搜索
- 12. d3.js強制定向圖球體
- 13. D3.js強制指導佈局?
- 14. D3.JS圖表未顯示
- 15. d3.js地圖不顯示
- 16. D3.js不顯示圖表
- 17. 如何強制引用約束(外鍵)
- 18. 如何在mysql中強制約束
- 19. 如何在mysql中強制約束?
- 20. 強制閉環外鍵約束
- 21. 如何在sql中強制約束?
- 22. 「強制」符合通用約束
- 23. 鍵入數據集 - 強制約束
- 24. 對文本框強制案例約束
- 25. 強制外鍵約束同桌
- 26. 強制實施企業約束
- 27. Oracle強制執行軟刪除約束
- 28. 顯示錶中的約束
- 29. Mysql顯示創建約束?
- 30. 如何使用d3.js中的強制有向圖顯示xml標籤數據
是的,[這個問題](http://stackoverflow.com/questions/15100060/d3-js-force-directed-layout-constrained-by-a-shape)應該給你一些指針。 –