不要显示负号d3轴标签

mik*_*ike 4 format label axis d3.js

我有一个比例,我不希望在数字之前出现负面符号 - 如何在d3格式化程序中完成?比例建立如下:

var formater = d3.format("0");

self.x = d3.scale.linear().domain([self.xmin, self.xmax]).range([0, self.settings.width])

    self.axis = d3.svg.axis()
        .scale(self.x)
        .orient("bottom")
        .tickFormat(formater);

    self.axisLabels = self.svg.append("g")
                    .attr("class", "axis")
                    .attr("id", "axis")
                    .call(self.axis)
Run Code Online (Sandbox Code Playgroud)

我看到一个选项可以添加一个"+"符号,但不能删除" - "符号https://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format

此外,是否可以删除一个标签?我在标尺上标注从-5到5,并且不希望出现负号,我不想标记0.谢谢.

mus*_*_ut 6

您已经使用了格式化程序,并且您不需要依赖D3来删除" - "符号,您可以自己执行:

var formatter = d3.format("0");

// ...

self.axis = d3.svg.axis()
    .scale(self.x)
    .orient("bottom")
    .tickFormat(function (d) { 
         if (d === 0) return ''; // No label for '0'
         else if (d < 0) d = -d; // No nagative labels
         return formatter(d);
    });
Run Code Online (Sandbox Code Playgroud)