分别格式化D3中的多个轴

Formatting multiple axes in D3 indivdiually

我正在关注 Scatterplot Matrix example,但我的坐标轴需要不同的格式。我有一些面向时间的变量和一些标准数值变量。我希望轴具有不同的格式,因为目前,面向时间的标签以逗号显示(例如 2,005 而不是 2005)。我试过追加

   .tickFormat(d3.format("d"))

var xAxis = d3.svg.axis()
    .scale(x)
    .orient("bottom")
    .ticks(5)
    .tickFormat(d3.format("d"));

但这会将所有坐标轴格式化为日期。有没有办法以不同的方式格式化每个轴?

再往下xAxis调用渲染轴:

.each(function(d, i) {
  x.domain(domainByTrait[d]);
  d3.select(this).call(xAxis);
});

每个特征调用一次该函数 d,因此您可以从那里调用

xAxis.tickFormat(d3.format(...))

.tickFormat(d3.time.format(...))

渲染轴之前。