Javascript C3JS-无法读取属性';类别10';未定义的
我从jsfiddle()尝试了这段c3.js代码,但在我的localhost中似乎不起作用 我正在使用uniserver作为我的服务器。我复制粘贴所有东西,但它不起作用Javascript C3JS-无法读取属性';类别10';未定义的,javascript,d3.js,graph,charts,c3.js,Javascript,D3.js,Graph,Charts,C3.js,我从jsfiddle()尝试了这段c3.js代码,但在我的localhost中似乎不起作用 我正在使用uniserver作为我的服务器。我复制粘贴所有东西,但它不起作用 <html> <head> <!-- CSS --> <link href="css/c3.css" rel="stylesheet" type="text/css" /> <!-- JAVASCRIPT -->
<html>
<head>
<!-- CSS -->
<link href="css/c3.css" rel="stylesheet" type="text/css" />
<!-- JAVASCRIPT -->
<script src="js/d3.min.js" type="text/javascript"></script>
<script src="js/c3.js" type="text/javascript"></script>
<script type="text/javascript">
window.onload=function(){
var chart = c3.generate({
data: {
columns: [
['data1', 300, 350, 300, 0, 0, 0],
['data2', 130, 100, 140, 200, 150, 50]
],
types: {
data1: 'area',
data2: 'area-spline'
}
},
axis: {
y: {
padding: {bottom: 0},
min: 0
},
x: {
padding: {left: 0},
min: 0,
show: false
}
}
});
}
</script>
</head>
<body>
<div id="chart"></div>
</body>
</html>
我尝试了不同版本的c3.js,但什么都没有。这很奇怪,因为它在JSFIDLE中工作,而不是在我的本地环境中。我通过将D3.js v4(4.1.1)降级到v3(3.5.17),解决了另一个项目中完全相同的JavaScript错误 事实证明,截至2016年7月,C3.js: 它肯定不会像[D3.js]4.0那样工作。D3V4有一个完全不同的名称空间,并且绝不向后兼容。更新到v4是一项非常重要的任务
这是因为,C3.js基于D3 v3,当尝试使用D3 v4运行时会出现错误 错误发生在以下代码行:
pattern = notEmpty(config.color_pattern) ?
config.color_pattern : d3.scale.category10().range()
D3.scale.category10().range()
应该用作D3.scaleOrdinal(D3.schemeCategory10)
,但由于C3.js不能在D3V4上运行,因此仅更改这部分代码是毫无意义的
如果有人需要使用D3 v4+,请尝试
是C3.js的分支项目,与D3 v4+支持有相同的接口。问题是您使用的C3版本不支持您使用的版本:
D3 ver | requires C3 ver
3.x | 0.4
4.x | 0.5
5.x | 0.6
只要确保您使用的是正确版本的C3,您就不会看到此错误。尝试为这两个库提供完整的绝对路径。将代码移到正文的末尾也是一个好主意。在进行一些组合之后,结果是d3.js路径不起作用。我试图提供整个localhost路径和C:drive路径,但仍然不起作用。我得到的解决方案是使用外部url()。我不知道它是怎么工作的,但是,是的,它现在工作了。多亏了你的主意。:)值得一提的是,我在另一个项目上解决了完全相同的JS错误,从D3.JS v4(4.1.1)降级到v3(3.5.17)。@ArtoBendiken,嘿,它工作了!谢谢如果可以的话,我会投票支持你的评论。@JJC酷!因为它对你有用,我添加了一个正确的答案,这样其他偶然发现这个问题的人就能够找到答案。你可以在这里得到这个版本吗?谢谢你的回答,这很有帮助。如果你不使用npm,并且正在使用D3的rails gem,那么将此代码添加到gem文件将解决问题。
gem'D3 rails',“~>3.5.17”
噢,这里还有一个链接,指向我在上面的评论中引用的gem版本。c3.js版本重要吗?
D3 ver | requires C3 ver
3.x | 0.4
4.x | 0.5
5.x | 0.6