Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/asp.net-mvc-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 3 TypeError:无法调用方法';forEach&x27;“未定义”的定义;在MVC Razor上的D3JS中_Asp.net Mvc 3_Razor_D3.js - Fatal编程技术网

Asp.net mvc 3 TypeError:无法调用方法';forEach&x27;“未定义”的定义;在MVC Razor上的D3JS中

Asp.net mvc 3 TypeError:无法调用方法';forEach&x27;“未定义”的定义;在MVC Razor上的D3JS中,asp.net-mvc-3,razor,d3.js,Asp.net Mvc 3,Razor,D3.js,为什么我在以下代码中得到错误,而不是数据。forEach 我也添加了D3JS,但代码无法识别“data.forEach”。请告诉我如何在MVC razor上解决这个问题 下面是我的data2.csv date,close 1971,0.357 1972,1.927 1973,1.870 1974,2.014 1975,10.995 1976,16.227 1977,16.643 1978,20.644 1979,22.478 下面是我的脚本 var margin={top:20,right:

为什么我在以下代码中得到错误,而不是数据。forEach 我也添加了D3JS,但代码无法识别“data.forEach”。请告诉我如何在MVC razor上解决这个问题

下面是我的data2.csv

date,close
1971,0.357
1972,1.927
1973,1.870
1974,2.014
1975,10.995
1976,16.227
1977,16.643
1978,20.644
1979,22.478
下面是我的脚本

var margin={top:20,right:20,bottom:30,left:50},
宽度=600-边距。左侧-边距。右侧,
高度=400-margin.top-margin.bottom;
var parseDate=d3.time.format(“%Y”).parse;
var x=d3.time.scale()
.范围([0,宽度]);
变量y=d3.scale.linear()
.范围([高度,0]);
var xAxis=d3.svg.axis()
.比例(x)
.东方(“底部”);
var yAxis=d3.svg.axis()
.比例(y)
.东方(“左”);
var line=d3.svg.line()
.x(函数(d){返回x(d.date);})
.y(函数(d){返回y(d.close);});
var svg=d3.选择(“正文”).追加(“svg”)
.attr(“宽度”,宽度+边距。左侧+边距。右侧)
.attr(“高度”,高度+边距。顶部+边距。底部)
.附加(“g”)
.attr(“转换”、“平移”(+margin.left+)、“+margin.top+”);
d3.csv(“data2.csv”,函数(错误,数据)
{
data.forEach(函数(d)
{
d、 日期=解析日期(d.date);
d、 close=+d.close;
});
x、 域(d3.extent(数据,函数(d){返回d.date;}));
y、 域(d3.extent(数据,函数(d){返回d.close;}));
svg.append(“g”)
.attr(“类”、“x轴”)
.attr(“变换”、“平移(0)”、“高度+”)
.呼叫(xAxis);
svg.append(“g”)
.attr(“类”、“y轴”)
.呼叫(yAxis)
.append(“文本”)
.attr(“变换”、“旋转(-90)”)
.attr(“y”,6)
.attr(“dy”,“.71em”)
.style(“文本锚定”、“结束”)
.文本(“百万Sm3”);
追加(“路径”)
.基准(数据)
.attr(“类”、“行”)
.attr(“d”,行);
});

根据上面的评论,它与日期解析有关,可能与csv加载有关,正如拉尔斯所怀疑的那样。在任何情况下,将csv更改为javascript变量后

data.forEach(function (d)
    {
        d.date = parseDate(d.date.toString());
        d.close = +d.close;
    });

parseDate
,由d3“准备”的函数,需要传递一个字符串进行解析。检查。听起来好像加载CSV有问题。
data.forEach(function (d)
    {
        d.date = parseDate(d.date.toString());
        d.close = +d.close;
    });