Я использую диаграмму области D3 для построения диаграммы для данных с такой структурой:
data = [
{
date: "2019-02-01",
value: 100
}, {
date: "2019-03-01",
value: 1
}
]
Когда я использую Пример диаграммы области D3 , они устанавливают ось X следующим образом:
const x = d3.scaleTime()
.domain(d3.extent(data, d => Date.parse(d.date)))
.range([margin.left, width - margin.right])
const xAxis = g => g
.attr("transform", `translate(0,${height - margin.bottom})`)
.call(d3.axisBottom(x).ticks(width / 80).tickSizeOuter(0));
Тем не менее, это равномерно добавляет отметки по всей оси X.Я попытался сделать что-то вроде:
const xAxis = g => g
.attr("transform", 'translate(0,' + (height + data.length) + ')')
.call(d3.axisBottom(x).ticks(data.length).tickSizeOuter(0));
, но затем на оси X ничего не появилось. Как заставить ось X отображать отметки только на заданных значениях date
из моих данных (т.е.для приведенных выше примеров я хочу видеть только 2019-02-01
и 2019-03-01
на оси X).
Еще лучше было бы просто отобразить месяц и год этих дат (то есть 2019-02-01
будет отображаться как Feb. 2019
на графике).