Parsing D3删除数千个逗号分隔符
我有一个.json,有3列,其中一列是'Year'。该列仅包含年份。没有约会 当我把它画在“x”轴上时,年份以逗号分隔数千年 所以在.json中,日期是这样的格式:“年”:1990年 在“x”轴上,结果是这样的 我一直在想如何解析这一年,但到目前为止我没有运气。我尝试了以下方法:Parsing D3删除数千个逗号分隔符,parsing,time,d3.js,delimiter,comma,Parsing,Time,D3.js,Delimiter,Comma,我有一个.json,有3列,其中一列是'Year'。该列仅包含年份。没有约会 当我把它画在“x”轴上时,年份以逗号分隔数千年 所以在.json中,日期是这样的格式:“年”:1990年 在“x”轴上,结果是这样的 我一直在想如何解析这一年,但到目前为止我没有运气。我尝试了以下方法: var parseDate = d3.time.format("%y").parse var x = d3.time.scale() .range([0, width]); //further down d3.j
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)
关于如何去掉逗号分隔符的任何建议。或者找出如何解析日期。您应该在xAxis中添加
.tickFormat(d3.format(“d”)
:
var xAxis = d3.svg.axis().scale(x).orient("bottom").tickFormat(d3.format("d"));
看起来您实际上没有使用
parseDate
函数。请尝试d[axis1]=parseDate(d[axis1])
。我正在使用它,或者至少我正在尝试第5行底部顶部。谢谢你的建议,但这不起作用。你用错地方了。这是您的完整代码吗?不,这不是完整代码。那么您如何将这些值传递到刻度?请注意,这会使您失去十进制精度