饼状图显示未捕获类型错误:不能调用方法'map'的定义
nvd3 pie chart says Uncaught TypeError: Cannot call method 'map' of undefined
这是活塞- http://plnkr.co/edit/pXitfqb8K2IbxOHXw0uL?p=preview
记录正确的值,但不构建饼状图。
相反,我可以在日志
nvd pie - {"values":[{"parent":"Food","amount":116.1},{"parent":"Home","amount":670.14},{"parent":"Travel","amount":365.24},{"parent":"Taxes","amount":31.240000000000002},{"parent":"Entertainment","amount":13.24}]} script.js:166
Uncaught TypeError: Cannot call method 'map' of undefined nv.d3.js:9623
如何解决这个问题?
看一下nv.d3.js中的9623行,您会发现map方法是在数组的第一个元素上调用的,并且您的数据是一个对象。
你需要做的是把你的值封装在一个只有1个元素的数组中:
var data = [{
key : "",
values : [{"parent":"Food","amount":116.1},{"parent":"Home","amount":670.14},{"parent":"Travel","amount":365.24},{"parent":"Taxes","amount":31.240000000000002},{"parent":"Entertainment","amount":13.24}]
}];
我为此挣扎了一段时间,主要是因为我是从nvd3.org网站上的实时示例开始的。
事实证明,现场站点示例中的数据格式与核心nvd3下载中捆绑的示例中的数据格式不同。
在下载的pie.html示例中,数据指定如下:
var testdata = [
{
key: "One",
y: 5
},
{
key: "Two",
y: 2
},
{
key: "Three",
y: 9
}
];
当传递数据时,它被包装在一个未命名的/键数组中…
d3...datum([testdata])....
经过几个小时的努力,我终于解决了这个问题。
请查看http://plnkr.co/edit/qJnZzBS4ZOUtD2q9FV11?p=preview查看它是如何工作的
相关文章:
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- javascript从子方法调用父方法
- 我应该返回一个类似console.log()的方法调用吗
- NodeJS-从同一文件中的另一个方法调用一个方法
- 使用restangular save方法调用put与post时的控件
- 从实例方法调用实例方法
- Node.js-异步方法调用问题
- Jquery事件绑定获胜'当作为方法调用时不起作用,但当直接在控制台中调用时会起作用
- 向模板实例变量传递调用方法调用的结果时出现异常
- jQuery 方法调用了两次
- 不能从 Backbone.View 的方法调用 Backbone.collection 的方法,其中包含 require
- 组合 onLayout 的方法调用
- lodash/下划线 - 使用绑定与方法调用和方法保持未绑定
- 从公共方法调用模块的私有函数
- 如何对 jqGrid 的 loadComplete 和 onSelectRow 进行基因预和后方法调用
- 完全限定的 JavaScript 方法调用
- 为什么我在 Angular JS 中收到两个方法调用
- 如何在从排序方法调用参数时将其传递给回调
- 使用两种不同的方法调用方法
- 如何在 javascript 中更改方法调用的全局范围