2016-08-18 65 views
5

Tôi đã tạo ra thời gian trục d3,Zoom.scaleExtent() làm gì trong d3.js?

//minDate and maxDates are javascript date object. 
var timeScale =d3.scaleTime().domain([minDate,maxDate]).range(
       [0, width]); 
var timeAxis = d3.axisBottom(timeScale); 

Và tôi đã thêm sự tương tác zoom để trục này

//gX is group div that has timeAxis. 
gX.call(d3.zoom(timeScale).scaleExtent([0,4]).on("zoom",function(d){ 
    //Do something. 
})) 

nhưng ban đầu tôi muốn thiết lập mức độ zoom của trục ở mức độ ngày, mặc định nó hiển thị theo giờ, Vì vậy, cuối cùng những gì tôi tò mò là,

  1. Làm cách nào để giới hạn ranh giới phóng to giữa mức năm và mức thu phóng tối thiểu đến mức ngày?
  2. số [0,4] đại diện cho scaleExtent ([0,4]) khi thu phóng?
+0

Chúc bạn may mắn! D3 có vẻ là một bí ẩn đối với chính nó. Thật không may là tất cả tài liệu của Mike Bostock (lập trình viên tuyệt vời như anh ta, anh ta hoàn toàn khủng khiếp khi giải thích mọi thứ một cách đơn giản, đơn giản), là vô dụng đối với bất kỳ ai không chuẩn bị chi tiêu ít nhất một tháng để học cách tạo một biểu đồ đường đơn giản. Thư viện mạnh mẽ, nhưng hầu hết mọi người chỉ đơn giản là giảm để sao chép ví dụ mã Mikes và tinh chỉnh nó để làm những gì họ muốn - mà không hiểu đầy đủ mã mà họ kết thúc. Muốn có một thay thế với đường cong học tập nông hơn, sẽ đổ D3! –

Trả lời

0

Từ những gì tôi hiểu đó là hệ số thời gian của thu phóng. 4 sẽ có nghĩa là: phóng đại 4 lần.