我的json数据目前看起来像这样:
var data = {"history":[
{"date":"2013-10-15","value":15},
{"date":"2013-11-15","value":5},
{"date":"2013-12-15","value":5},
{"date":"2014-01-15","value":8},
{"date":"2014-02-15","value":5}
]}
我正在尝试创建一个区域图:
svg.selectAll("path.area")
.data(d3.values(data.history))
.append("path")
.attr("class", "area")
.attr("d", d3.svg.area()
.x(function (d) { return xScale(d.date); })
.y0(height)
.y1(function (d) { return yScale(d.value); })
);
我似乎无法以正确的格式获取区域函数解释的数据。
答案 0 :(得分:0)
来自d3 wiki:
的示例var format = d3.time.format("%Y-%m-%d");
format.parse("2011-01-01"); // returns a Date
您可能只需要使用内置解析器将日期字符串解析为Date
对象。在如上定义format
变量后,您将更改行
.x(function (d) { return xScale(d.date); })
阅读:.x(function(d){ return xScale(format.parse(d.date)); })
您可能还需要相应更改xScale()
功能,有关如何执行此操作的信息,请参阅wiki page about d3 Time Scales。