Có thể có một bàn chải có chiều rộng tĩnh tức là bàn chải không thể thay đổi kích thước không? Nó vẫn cần phải có thể kéo được. Có vẻ như không có bất cứ điều gì chỉ ra cho dù nó có thể trong tài liệu.Vô hiệu hóa bàn chải d3 thay đổi kích thước
Trả lời
Không có tùy chọn rõ ràng cho điều đó, nhưng tất cả các bạn cần làm là thiết lập lại các miền trong xử lý sự kiện bàn chải, ví dụ
var brush = d3.svg.brush().on("brush", brushed);
function brushed() {
brush.extent(desiredDomain);
}
Resize thể được ngăn ngừa bằng cách ẩn nút định cỡ qua css
g.brush>.resize {
display: none;
}
Thực ra, đặt lại theo cách thủ công phạm vi có vẻ không hoạt động tốt.
Các giải pháp tôi đã tìm thấy, được giấu trong ví dụ trượt, là để loại bỏ các yếu tố thay đổi kích thước hoàn toàn:
// Create the brush normally.
var brush = d3.svg.brush()
.x(xScale)
.on("brush", brushed);
// Add it to a SVG group
var slider = context.append("g")
.attr("class", "x brush")
.call(brush);
// Remove the resize control
slider.selectAll(".resize").remove();
tôi gặp phải chính xác cùng một vấn đề. Tôi đã sử dụng D3 4.0 và cần phải thực hiện một brush kích thước cố định dọc theo trục x. Tôi đã từng drag.filter()
chức năng và các yếu tố biến đổi bên trong .brush
để đạt được điều này:
var brush = d3.brushX()
.filter(function() {return d3.mouse(this)[0] > brushStart && d3.mouse(this)[0] < brushStart + brushWidth})
.extent([[0, 0], [width, height]])
.on("end", brushended)
.on('brush', beingBrushed);
svg.append('g')
.attr('class', 'brush')
.call(brush)
.call(brush.move, [0, brushWidth]); //initial position
d3.selectAll('.brush>.handle').remove();
function brushended() {
var s = d3.event.selection;
if (s!== null) {
brushStart = s[0];
}
}
Bằng cách này, bàn chải cho phép kéo nhưng không thay đổi kích thước.
Trong D3.js v4.0, bạn có thể tắt các sự kiện con trỏ trong CSS cho phần tử SVG (hình chữ nhật xử lý).
.handle {
pointer-events: none;
}
- 1. Datatables: vô hiệu hóa kích thước cột sau khi lọc
- 2. Vô hiệu hóa thay đổi kích thước của biểu mẫu Windows
- 3. Firefox - designMode: vô hiệu hóa xử lý thay đổi kích thước hình ảnh
- 4. vô hiệu hóa giá trị điền vào vector khi thay đổi kích thước? C++
- 5. Thay đổi kích thước svg khi cửa sổ được thay đổi kích thước trong d3.js
- 6. "Bàn chải" là gì?
- 7. Tắt GridViewColumn Thay đổi kích thước
- 8. Làm thế nào để vô hiệu hóa three.js để thay đổi kích thước hình ảnh trong sức mạnh của hai?
- 9. Làm thế nào để vô hiệu hóa thay đổi kích thước của subview của NSSplitView trong Interface Builder?
- 10. Vô hiệu hoá cửa sổ trình duyệt Thay đổi kích thước
- 11. Phím shift trên bàn phím iPhone bị vô hiệu hóa
- 12. Thay đổi màu sắc của combobox bị vô hiệu hóa
- 13. Cách thay đổi hình ảnh và vô hiệu hóa UIBarButtonItem
- 14. Vô hiệu hóa/thay đổi màn hình kích hoạt IntelliJ IDE
- 15. Vô hiệu hóa các phím trên bàn phím
- 16. Làm thế nào để vô hiệu hóa kích thước của textarea?
- 17. Thay đổi kích thước bitmap
- 18. Hiệu suất thay đổi kích thước hàng loạt của ImageMagick
- 19. Thay đổi kích thước bố cục hoạt ảnh khi bàn phím mở
- 20. Jquery vô hiệu hóa phím trên bàn phím
- 21. Bàn chải phủ định WPF 'ma thuật'?
- 22. WebView không thay đổi kích thước
- 23. Thay đổi kích thước GLKView
- 24. Thay đổi kích thước ArrayBuffer
- 25. Làm cách nào để áp dụng thang đo cho bàn chải d3 v4.0 `?
- 26. Xcode "Kích thước để phù hợp với nội dung" bị vô hiệu hóa
- 27. JavaFX: ràng buộc vô hiệu hóa thuộc tính của một nút để kích thước ObservableList
- 28. Tạo bàn chải sọc trong WPF
- 29. UIImageView: Thay đổi kích thước thành kích thước hình ảnh?
- 30. Mảng có kích thước không thay đổi kích thước động