D3.js Don';t显示负符号d3轴标签

D3.js Don';t显示负符号d3轴标签,d3.js,format,label,axis,D3.js,Format,Label,Axis,我有一个刻度,我不希望负号出现在数字之前-在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")

我有一个刻度,我不希望负号出现在数字之前-在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)
我看到一个添加“+”号但不删除“-”号的选项


另外,是否可以删除一个标签?我在刻度上标记从-5到5,不希望出现负号,也不希望标记为0。谢谢。

您已经在使用格式化程序,不需要依赖D3来删除“-”符号,您可以自己完成:

var格式化程序=d3.format(“0”);
// ...
self.axis=d3.svg.axis()
.scale(self.x)
.orient(“底部”)
.d.格式(函数(d){
如果(d==0)返回“”;//没有“0”的标签
else如果(d<0)d=-d;//没有否定标签
返回格式化程序(d);
});

能否将所有数字转换为正数?您可以使用
.tickValues()
明确指定值(即不显示0)。比例从-5到5(我有两个方向的条形图)。有可能在“-2”位置显示值“2”吗?我理解你的问题,我只是问如果你想要正值,为什么不首先使用正值。我有两个远离中心点的两个方向的条,它们都代表两个感兴趣的维度(人口金字塔)的正值