我正在使用D3的面积图来构造具有这种结构的数据图:
data = [
{
date: "2019-02-01",
value: 100
}, {
date: "2019-03-01",
value: 1
}
]
当我使用D3's Area Chart Example时,他们将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
值上显示刻度线(即,对于上面的示例数据,我只想要以在X轴上查看2019-02-01
和2019-03-01
)。
最好只显示这些日期的月份和年份(即2019-02-01
在图表上显示为Feb. 2019
)。