Nếu bạn làm việc trong d3.v4, như được đề xuất, bạn có thể sử dụng phiên bản này cung cấp mọi thứ bạn cần.
Bạn có thể chỉ muốn thay thế dữ liệu trục X bằng "ngày" của mình nhưng hãy nhớ phân tích cú pháp các giá trị chuỗi một cách chính xác và không áp dụng nối.
parseTime cũng có thể thực hiện thủ thuật chia tỷ lệ ngày với định dạng ngày?
d3.json("data.json", function(error, data) {
if (error) throw error;
data.forEach(function(d) {
d.year = parseTime(d.year);
d.value = +d.value;
});
x.domain(d3.extent(data, function(d) { return d.year; }));
y.domain([d3.min(data, function(d) { return d.value; }) / 1.005, d3.max(data, function(d) { return d.value; }) * 1.005]);
g.append("g")
.attr("class", "axis axis--x")
.attr("transform", "translate(0," + height + ")")
.call(d3.axisBottom(x));
g.append("g")
.attr("class", "axis axis--y")
.call(d3.axisLeft(y).ticks(6).tickFormat(function(d) { return parseInt(d / 1000) + "k"; }))
.append("text")
.attr("class", "axis-title")
.attr("transform", "rotate(-90)")
.attr("y", 6)
.attr("dy", ".71em")
.style("text-anchor", "end")
.attr("fill", "#5D6971")
.text("Population)");
nghịch ngợm với css / js toàn cầu
.attr("transform", "rotate(-90)")
khiến toàn bộ hệ thống điều phối xoay vòng. Vì vậy, nếu bạn định vị bằng "x" và "y", bạn cần hoán đổi vị trí so với những gì tôi mong đợi.