D3删除数千个逗号分隔符

时间:2013-05-14 18:03:55

标签: parsing time d3.js delimiter comma

我有一个包含3列的.json,其中一列是'Year'。该列仅包含年份。没有约会!。

当我在“x”轴上绘制图形时,这些年来会出现数千个逗号分隔符。

所以在.json中,日期是这种格式:“年”:1990 并且在'x'轴上它出现像1,990

我一直想弄清楚如何解析这一年,但到目前为止我没有运气。我尝试过以下方法:

var parseDate = d3.time.format("%y").parse

var x = d3.time.scale()
.range([0, width]);

//further down

d3.json("waterData.json", function(error, json) {

// Attach Data
var data = json.data;

// Select Data for X and Y
var axis1 = 'Year'; 
var axis2 = 'Ratio'

// Convert String into Numbers
data.forEach(function(d) {

///axis1 = parseDate(axis1);

d[axis1] = +d[axis1]
d[axis2] = +d[axis2]
});

 x.domain(d3.extent(data, function(d) { return d[axis1]; }));
 y.domain(d3.extent(data, function(d) { return d[axis2]; }));


 svg.append("g")
  .attr("class", "x axis")
  .attr("transform", "translate(0," + (height+10) + ")")
  .call(xAxis)
 .append("text")
  .attr("class", "label")
  .attr("x", width)
  .attr("y", -40)
  .text(axis1)

 svg.append("g")
  .attr("class", "y axis")
  .attr("transform", "translate("+ -10 + "," + 0 + ")")
  .call(yAxis)
 .append("text")
  .attr("class", "label")
  .attr("x", 10)
  .style("fill", "#666")
  .style("text-anchor", "start")
  .text(axis2)

有关如何摆脱逗号分隔符的任何建议。或者弄清楚如何解析日期。

1 个答案:

答案 0 :(得分:36)

您应该将.tickFormat(d3.format("d"))添加到xAxis:

var xAxis = d3.svg.axis().scale(x).orient("bottom").tickFormat(d3.format("d"));