我正在使用NVD3库根据Rails控制器中生成的数据制作简单的折线图。我用来在Rails中生成数据的代码是:
task.task_values.each do |u|
array.push({ :x => u.created_at.to_i * 1000, :y => u.value.to_i })
end
data_label = task.name + " ("+ task_unit +")"
taskValuesList = [{:key => data_label, :values => array}]
data = {:type => "line", :data => taskValuesList}
然后,在我看来,我有以下JS代码:
nv.addGraph(function() {
var chart = nv.models.lineChart()
.x(function(d) { return d.x; })
.y(function(d) { return d.y; });
chart.xAxis
.showMaxMin(false)
.tickFormat(function(d){return d3.time.format("%m/%d/%y")(new Date(d));});
chart.yAxis
.tickFormat(d3.format(',d'));
d3.select('#chart<%= i %> svg')
.datum(data.data)
.transition().duration(500)
.call(chart);
nv.utils.windowResize(chart.update);
return chart;
});
图表正确呈现,但当我尝试将鼠标悬停在数据点上以显示工具提示时,会出现错误“Uncaught TypeError:无法读取未定义的属性“x”
确保您的数据为JSON格式,
以下是示例JSON数据的外观
data = [{
key : "Line 1",
color : "#51A351",
values : [{
x : 1373403179000,
y : 40
}, {
x : 1373403469000,
y : 30
}, {
x : 1373403567000,
y : 20
}]
}, {
key : "Line 2",
color : "#BD362F",
values : [{
x : 1373403179000,
y : 60
}, {
x : 1373403469000,
y : 50
}, {
x : 1373403567000,
y : 70
}]
}]
UPDATE:
这是一个NVD3折线图的工作小提琴
如果您看到未捕获类型错误:无法读取未定义的属性“x”
,可能是因为您的数据系列包含不同的点数。
检查是否只有一个系列发生这种情况。
我也犯了同样的错误,被困了几个小时。经过一些调查,我发现我使用的是最新版本的d3.js,与最新版本的nvd3.js不兼容
确保您使用的是nvd3存储库中包含的d3.js版本:/lib/d3.v3.js
这很难弄清楚。特别是因为nvd3文档告诉您使用最新的d3.js版本-(
我正在选择area_enninFantry的所有子div,并循环调整某些子div的文本。cardArray是一个全局常量,myId在父函数中定义。 未捕获的TypeError:无法读取未定义的属性(读取“getAttribute”) 我在这篇文章中读到,这可能是因为字段/元素的内容可能是DOM元素,我应该用$()包装它们,所以我确实这样做了——将两个变量都更改为$(元素)[a]. attr(“标题
我遇到了一个有趣的问题,这使我感到困惑。我正在执行一个正确返回数据的Sharepoint RestAPI调用,当我在数据上运行for循环时,它生成html,但仍然抛出我用作标题的错误。代码如下。如果我记录每个循环,它将返回值。HTML也可以很好地工作。问题是错误仍然会出现。
我使用的是最新版本的react路由器(版本^3.0.0)。 我使用ES5编写了以下路由: : 在另一个名为
我想有一个无限滚动的项目列表,我正在使用这个包https://github.com/CassetteRocks/react-infinite-scroller但是在留档中没有提到抓取功能的样子。 在我的代码中,它是这样的: 完整消息错误: 未捕获(promise中)类型错误:无法读取评估时未定义的属性“companys”(traineships.component.js:71) 编辑:(我不再有错
我是一个新鲜和新的测试,我得到控制台错误在我的页面滚动时,它说像 main.js:18 未捕获的TypeError:无法读取未定义的属性“top” 我尝试了另一种解决方案,比如将选择器更改为变量,但错误没有得到解决,我想我想搜索整个页面以进行更正,但我没有确定这里是我的页面main.js 请帮我解决我的错误。。。
我正在上传一张图片到firebase,然后试图将它的下载URL保存到< code>ionic storage,但是它给了我这个错误