Trong D3 v4, hai vảy mới đã được tạo: scaleBand
và scalePoint
, hiện có một số tính năng mà scale.ordinal
có trong phiên bản 3 (trong số đó là rangePoints
).
Nó được ghi lại trong changelog:
Tương tự, ordinal.rangePoints và phương pháp ordinal.rangeRoundPoints đã được thay thế bằng một lớp con mới có quy mô thứ: thang điểm. Các mã sau đây trong 3.x:
var x = d3.scale.ordinal()
.domain(["a", "b", "c"])
.rangePoints([0, width]);
là tương đương với này trong 4.0:
var x = d3.scalePoint()
.domain(["a", "b", "c"])
.range([0, width]);
Do đó, quy mô bạn cần ở đây là scalePoint:
thang điểm là một biến thể của quy mô băng tần với băng thông cố định về không. Thang điểm thường được sử dụng cho các ô tán xạ có thứ nguyên thứ tự hoặc phân loại.
Do đó, thay đổi quy mô của bạn để:
var x = scalePoint()
.range([0, width])
.padding(.1);
chú ý Pay đến padding
: trong một thang điểm, range
chỉ chấp nhận các mảng phạm vi, không phải là đệm nữa.
Nguồn
2017-01-30 21:31:02