在d3图表中,我们将comma作为千位分隔符作为默认值,我想删除它们并显示x轴刻度,例如" 2 000 000"而不是" 2,000,000"
这是我尝试过的:
private scaleX: ScaleLinear<number, number>;
private xAxisComponent: any;
// Define an x Axis
const axisNumberFormat: FormatLocaleDefinition = {
'decimal': '.',
'thousands': ' ',
'grouping': [3],
'currency': ['', ''],
};
const axisFormatLocale: FormatLocaleObject = this.d3.formatDefaultLocale(axisNumberFormat);
this.xAxisComponent = this.d3.axisBottom(this.scaleX).tickFormat(axisFormatLocale);
但是,最后一行的赋值不起作用,它说&#34; 类型的参数&#39; FormatLocaleObject&#39;不能分配给&#39; null&#39;类型的参数。&#34;有小费吗?或者我是以错误的方式做到这一点,还有另一种方法可以将格式字符串放在一起发送到tickFormat()
方法吗?
答案 0 :(得分:1)
如果将.format('')添加到axisFormatLocale,则最后一行将起作用:
this.xAxisComponent = this.d3.axisBottom(this.scaleX).tickFormat(axisFormatLocale.format(''));