“导出”使用支流对象的支流示例-d3.js

“导出”使用支流对象的支流示例-d3.js,d3.js,D3.js,我正在d3.js中实现图表,如何将使用支流对象的支流示例提取到HTML和Javascript代码中。下面是我试图做的代码,但还没有成功 我有用于图表数据的外部JSON文件sample.JSON。错误表明forEach不是一个函数。我不知道该怎么办 请查找我的JSFIDLE以获取完整代码 //加载sample.json d3.jsonsample.json,functionsample2{ //var svg=d3.selectbody.appendsvg; //将UTC格式化为js date

我正在d3.js中实现图表,如何将使用支流对象的支流示例提取到HTML和Javascript代码中。下面是我试图做的代码,但还没有成功

我有用于图表数据的外部JSON文件sample.JSON。错误表明forEach不是一个函数。我不知道该怎么办

请查找我的JSFIDLE以获取完整代码

//加载sample.json d3.jsonsample.json,functionsample2{ //var svg=d3.selectbody.appendsvg; //将UTC格式化为js date obj的日期操作 sample2.forEachfunctiond{d.time=new Dated.time*1000;}; //助手和常量 var-margin={顶部:50,右侧:100,底部:56,左侧:50}; 变量宽度=930-margin.right-margin.left; 变量高度=582-margin.top-margin.bottom; var timeFormat=d3.time.format%c; var X=宽度/样本2.长度*0.25; 您需要修复这些问题:

问题:1

{"sample2": [ {"time": 1387212120, "open": 368, "close": 275, "high": 380, "low": 231}, {"time": 1387212130, "open": 330, "close": 350, "high": 389, "low": 310}, {"time": 1387212570, "open": 395, "close": 253, "high": 438, "low": 213} ]}
您的json是一个对象而不是数组,因此forEach将无法工作。 您需要这样做:

d3.json("sample.json", function(sample2) { 
sample2= sample2.sample2
问题2 您的html正文没有svg,因此需要附加它:

var canvas = d3.select("svg")//this is wrong

var canvas = d3.select("body").append("svg")//add svg to the body
工作代码

希望这有帮助!

您需要修复以下问题:

问题:1

{"sample2": [ {"time": 1387212120, "open": 368, "close": 275, "high": 380, "low": 231}, {"time": 1387212130, "open": 330, "close": 350, "high": 389, "low": 310}, {"time": 1387212570, "open": 395, "close": 253, "high": 438, "low": 213} ]}
您的json是一个对象而不是数组,因此forEach将无法工作。 您需要这样做:

d3.json("sample.json", function(sample2) { 
sample2= sample2.sample2
问题2 您的html正文没有svg,因此需要附加它:

var canvas = d3.select("svg")//this is wrong

var canvas = d3.select("body").append("svg")//add svg to the body
工作代码


希望这有帮助!

问题是您没有提到示例的位置。json根位置没有。它位于根位置您的本地实例根位置上。当您在浏览器上运行代码时,您是否在网络选项卡中看到任何错误?如果是,说明了什么。在控制台上,它给出了错误,而不是在网络中abTypeError:sample2.forEach不是函数sample2.forEachfunctiond{d.time=new Dated.time*1000;};问题是您没有提到示例的位置。json根位置没有。它位于根位置您的本地实例根位置上。当您在浏览器上运行代码时,您是否在网络选项卡中看到任何错误…?如果是,说明什么。在控制台上,它给出错误,而不是在网络选项卡中。错误:sample2.forEach不是函数sample2.forEachfunctiond{d.time=new Dated.time*1000;};还有一件事,我还在选择我的图表将重新生成的选项时附加下拉选择框…我的结构在DOM中创建,但没有显示在屏幕上…任何建议..蜡烛线区域这是我问题的一部分还有一件事,我还在选择我的图表中的选项时附加下拉选择框我将重新生成…我的结构正在DOM中创建,但没有显示在屏幕上…任何建议…蜡烛线区域这是我问题的一部分