0

这里是 C3 的新手。我正在尝试制作一个简单的散点图。我认为这会起作用(c3_test.csv 是来自样本的相同数据集。)

var chart = c3.generate({
        data: {
            url: 'c3_test.csv',       
        x: 'data1',
        columns: ['data2']
        type: 'scatter'
        }
    });

但看起来这不是要走的路。这行得通,

var chart = c3.generate({
        data: {
            url: 'c3_test.csv',       
            filter: function (d) {
                return d.id !== 'data1';
            },
            x:'data2',
            type: 'scatter'
        },

但是,了解如何使第一种方法也提供所需的输出会很有帮助。另外,我正在尝试加载 tsv 文件;基于,我认为我可以只使用 url 接口,但是,这似乎不起作用。同样,我也将不胜感激。我正在使用https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.10/c3.js。我的 csv(tsv) 文件如下。

TIA,  
C.S.N  

data1,data2,data3  
20,180,400  
40,150,310  
70,120,470  
50,170,400  
80  200 380
4

2 回答 2

1

您现在可以从 TSV 文件加载。为此,您需要将 mimetype 属性作为tsv添加到数据对象中。

这是一个例子:

function glucoseInit() {
    var chart = bb.generate({
        bindto: '#divGlucoseScores',
        data: {
            url: 'glucoseScores.tsv',
            mimeType: 'tsv',
            x: 'date',
            xFormat: '%Y-%m-%d %H:%M:%S', // how the date is parsed
            y: 'score',
            names: {
                date: 'Date',
                score: 'Blood glucose (mg/dL)'
            }
        },
        axis: {
            x: {
                type: 'timeseries',
                tick: {
                    format: '%m/%d/%Y'
                }
            }
        }
    });
}

请参阅github 上的这篇文章。看起来这是在 2014 年 9 月添加的。

于 2017-06-28T23:51:23.757 回答
0

如果您希望data1用于 x 轴、data2y 和忽略data3,您可以使用:

var chart = c3.generate({
    data: {
        url: 'c3_test.csv',
        x: 'data1',
        type: 'scatter',
        hide: ['data3']
    },
    legend: {
        hide: ['data3']
    }
});

在玩了一会儿之后,我也无法使用该url选项加载 TSV 文件,但您可以使用 base D3 解析 TSV 并将其提供给图表对象。

于 2015-05-12T14:10:56.600 回答