d3 tickFormat,删除逗号为千位分隔符

时间:2018-05-18 14:12:48

标签: d3.js

在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()方法吗?

1 个答案:

答案 0 :(得分:1)

如果将.format('')添加到axisFormatLocale,则最后一行将起作用:

this.xAxisComponent = this.d3.axisBottom(this.scaleX).tickFormat(axisFormatLocale.format(''));