我意识到 d3.js 在 xAxis 上返回负值,并带有 MINUS unicode (U+2212),但我需要它作为 HYPHEN-MINUS unicode(U+002D)。我怎样才能在下面的代码中做到这一点;
const locale = d3.formatLocale({
minus: '\u002D',
})
const xAxisGroup = d3.select(ref.current)
xAxisGroup.selectAll('g').remove()
xAxisGroup
.append('g')
.attr('transform', `translate(0,${DEFAULTS.margin.top})`)
.call(
d3
.axisTop(x)
.tickFormat(locale)
.ticks(DEFAULTS.width / 80),
)
但是当我添加 tickFormat(locale) 行时,我没有得到我所期望的结果。我做错了。有人可以帮助我了解如何将格式应用于我的 xAxis 刻度吗?
d3.formatLocale
不是格式化程序;你需要像d3.formatLocale(...).format('.2f')
这样的东西。或者您可以使用 d3.formatDefaultLocale
,它既创建一个区域设置,又将所有后续调用的默认值设置为 d3.format
。