Tôi muốn làm điều gì đó hơi khác thường với bố trí lực (để hiển thị đồ thị). Chòm sao và tất cả đều thú vị để xem xét, nhưng đối với dữ liệu thời gian, nó không phải là hữu ích. Tôi muốn có thể hạn chế bố trí của một số trục, ví dụ, bằng cách đặt ra các nút theo thời gian chúng xuất hiện trong tập dữ liệu, trong khi vẫn giữ lại "bouncyness" của trực quan hóa. Điều này có thể sử dụng d3?Ràng buộc d3.js Hiển thị lực
Trả lời
Để xây dựng trên nhận xét của tôi, có, điều này là hoàn toàn có thể. Bố trí lực không thực sự định vị các nút, nó chỉ tính toán các vị trí. Trong trình xử lý sự kiện tick
, bạn thường cung cấp chức năng quản lý vị trí. Ở đó, bạn có thể thêm các ràng buộc tùy ý hạn chế cách các nút có thể di chuyển.
Lấy một trong số stock examples, bạn có thể thực hiện những việc như sau để hạn chế tọa độ x trong phạm vi + -10 của vị trí dự định với y không bị giới hạn.
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; });
});
Đây là một khác example sử dụng bố cục lực để định vị nhãn. Ở đó, vị trí x bị bỏ qua (tức là hằng số) và chỉ có y bị ảnh hưởng bởi bố cục.
Cảm ơn bạn, Lars! Tôi có thể hỏi, là: 'var dự định = scale (d.value)' được thay thế bởi 'var xpos = scale (d.date)' trong trường hợp của tôi, trong đó datetime là giá trị mà tôi muốn đặt vào trục x? – ericmjl
Bạn chưa đăng bất kỳ mã nào vì vậy tôi không biết các biến của bạn được gọi là gì nhưng có, điều này sẽ chỉ định vị trí x. –
Cảm ơn bạn Lars! Tôi chỉ có thể thử nghiệm nó sau khi sửa một số lỗi khác trong mã của tôi, và nó hoạt động tạm thời! Bây giờ để sửa đổi các vảy để đảm bảo nó hoạt động đúng. :-) Cảm ơn một lần nữa! – ericmjl
Webcola là một công cụ tuyệt vời để tạo bố cục dựa trên ràng buộc với D3.JS.
- 1. d3.js lực đóng mở với nhãn
- 2. Silverlight DataGridTextColumn Hiển thị ràng buộc
- 3. Mysql hiển thị tạo ra ràng buộc?
- 4. Thiết lập đồ thị hướng D3 lực
- 5. Tôi muốn phân biệt liên kết của đồ thị lực d3.js bởi độ dày
- 6. Đồ thị phân lớp trong d3.js
- 7. D3.js lực lượng đồ thị hướng, mỗi nhóm màu sắc khác nhau?
- 8. Thuật toán nào D3.js sử dụng cho đồ thị theo hướng lực?
- 9. Cập nhật ràng buộc lực lượng Silverlight
- 10. D3.JS được tham chiếu đến dữ liệu ràng buộc của đối tượng nhấp
- 11. | - (20) - [UIInputSetContainerView ràng buộc ràng buộc khi thanh trạng thái cuộc gọi hiển thị
- 12. Hiển thị các ràng buộc trong một bảng
- 13. AngularJS ng-ràng buộc cần hiển thị biến + "chuỗi"
- 14. Hiển thị các ràng buộc trên bảng lệnh
- 15. Bố cục lực d3.js có cho phép liên kết động không?
- 16. D3 hiển thị bố cục lực chết chậm khi sử dụng tập dữ liệu lớn?
- 17. Tại sao biểu đồ hướng d3 lực của tôi không hiển thị các cạnh?
- 18. knockout js: foreach ràng buộc thêm một phần tử tĩnh
- 19. Tuyên truyền lực lượng giá trị bị ràng buộc
- 20. Hiển thị trong Backbone.js bằng cách sử dụng d3.js và svgs
- 21. Làm cách nào để hiển thị cuộc hôn nhân trong 'family-tree' dựa trên d3.js?
- 22. Biểu đồ lớn d3.js, canvas hoặc hiển thị phía máy chủ?
- 23. Biểu đồ D3.js: Nhãn (<text> Thẻ) Không hiển thị trên IE11
- 24. So sánh với thư viện D3.js vs zingChart để hiển thị và biểu đồ
- 25. d3 chỉ hiển thị ngày chủ nhật:
- 26. Cập nhật layout.pack trong d3.js
- 27. D3 trọng lực vật lý
- 28. D3.js vs Raphael.js
- 29. Chuyển tiếp D3.js
- 30. d3.js và document.onReady
Vâng, [câu hỏi này] (http://stackoverflow.com/questions/15100060/d3-js-force-directed-layout-constrained-by-a-shape) nên cung cấp cho bạn một số con trỏ. –