4

我正在尝试使用 c3.js 时间序列折线图(网址:http ://c3js.org/samples/timeseries.html )。唯一的区别是我使用 js 文件的 CDN 链接而不是下载它们。但是我不断收到以下错误

Chrome 未捕获错误:未为 id =“日期”定义 x。

Firefox 错误:没有为 id = "date" 定义 x。

throw new Error('x is not defined for id = "' + id + '".'); | ------------+

html文件如下所示

<!DOCTYPE html>
<html>
<meta charset="utf-8">
<head>

<link rel="stylesheet" type="text/css" href="http://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.css"/>

<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.js"></script>

<script>
    var dates = ['20130101', '20130102', '20130103', '20130104', '20130105', '20130106'];
    var sample = [30, 200, 100, 400, 150, 250];

    var chart = c3.generate({
        bindto: '#chart',
        data: {
                x:'Dates',
                x_format:'%Y%m%d',
        columns: [
        //['Dates'].concat(dates),
        //['Sample'].concat(sample)
                ['date', '20130101', '20130102', '20130103', '20130104', '20130105', '20130106'],
                ['sample', 30, 200, 100, 400, 150, 250]
                ]
        },
        axis: {
                x: {
                    type : 'timeseries'
                }
        }
    });
</script>
</head>
<body>
    <div id="chart"></div>
</body>
</html>

我不确定为什么会收到与日期相关的错误。我尝试在 C3 参数中使用实际数据值以及将数据作为变量传递。非常感谢任何帮助

4

1 回答 1

5

您的dates数组需要具有“集合”的名称/ID 的第一个值,例如:

var dates = ['Dates', '20130101', '20130102', '20130103', '20130104', '20130105', '20130106'];

data对象的属性x需要与此匹配。在上面的代码中,您有不同的值:Datesdate.

data: { x:'Dates', 

你离concat尝试更近了。

看到这个链接:http: //jsfiddle.net/jrdsxvys/16/

于 2015-05-20T15:04:13.280 回答