使用C3库时,无法加载csv文件

时间:2018-06-26 02:17:22

标签: csv data-visualization c3.js

我尝试了this sample code,但是无法读取csv文件。

我将csv文件放在确切的位置。 (与index.html目录相同)! 不适用于csv文件(具有数组数据),它可以完美工作。 语法规则是否已更改或代码中是否有错误? 如果有人可以检查此代码是否有效或可以帮助我,将非常感谢。

var chart = c3.generate({
    data: {
        url: '/data/c3_test.csv',
        type: 'line'
    }
});

setTimeout(function () {
    chart.load({
        url: '/data/c3_test2.csv'
    });
}, 1000);

setTimeout(function () {
    chart.load({
        columns: [
            ['data1', 130, 120, 150, 140, 160, 150],
            ['data4', 30, 20, 50, 40, 60, 50],
        ],
        unload: ['data2', 'data3'],
    });
}, 2000);

setTimeout(function () {
    chart.load({
        rows: [
            ['data2', 'data3'],
            [120, 300],
            [160, 240],
            [200, 290],
            [160, 230],
            [130, 300],
            [220, 320],
        ],
        unload: 'data4',
    });
}, 3000);

1 个答案:

答案 0 :(得分:0)

也许您正在使用file://C:/加载模型,由于错误消息不是http://,因此对错误消息保持正确。

您可以确认这是您在浏览器控制台上看到的错误消息。但是我按照您的要求做了,并且得到了“ Fetch API无法加载file:/// C:/data.csv。URL方案必须为“ http”或“ https”才能进行CORS请求。“ 并且csv文件也无法加载。

因此,您可以在本地PC上安装Web服务器,也可以将模型上传到其他地方,然后将网址更改为http://somehost/path/to/file

或者,如果您使用的是Chrome,则可以尝试使用--allow-file-access-from-files从终端启动它

浏览器不允许使用ajax调用的file:// URL(出于安全原因)。您需要通过Web服务器加载网页,并使用http://或https://而不是file://

通过该Web服务器发出ajax请求