我有一个比例,我不希望在数字之前出现负号 - 如何在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)
我看到一个选项可以添加“+”符号但不会删除“ - ”符号https://github.com/mbostock/d3/wiki/Formatting#wiki-d3_format
此外,是否可以删除一个标签?我在标尺上标注从-5到5,并且不希望出现负号,我不想标记为0.谢谢。
答案 0 :(得分:5)
您正在使用格式化程序,并且您无需依赖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);
});