0
我正在創建一個包含某些連續天數的每日數據的圖表。數據數組中的每個對象都有一個日期屬性,這是當天午夜的JavaScript日期表示。下面是相關代碼:d3.timeDay.every(步驟)每個月重置一次,導致軸標籤碰撞
const x = d3.scaleTime()
.range([0, width])
.domain(d3.extent(data.map(d => d.date)));
const days = data.length;
let interval = 1;
while (width/(days - 1) * interval < 60) {
interval += 1;
}
const xAxis = d3.axisBottom(x)
.tickFormat(d3.timeFormat('%b %d'))
.ticks(d3.timeDay.every(interval));
的問題是,d3.timeDay.every(間隔)重置在每個月的開始。 d3文檔清楚地指出了這一點,所以它不是一個錯誤。
不幸的是,當日期跨越月份邊界時,會導致滴答聲和標籤太接近。
有沒有辦法讓X軸(這是一個scaleTime)在每個間隔天創建滴答而不管月份邊界?