Connector 数据接入

    举个例子:

    1. const testCSV = `Expt,Run,Speed
    2. 1,1,850
    3. 1,2,740
    4. 1,3,900
    5. 1,4,1070`;
    6.  
    7. const dv = new DataSet.View().source(testCSV, {
    8. });
    9.  
    10. console.log(dv.rows);
    11. /*
    12. * dv.rows:
    13. * [
    14. * {Expt: " 1", Run: "1", Speed: "850"}
    15. * {Expt: " 1", Run: "2", Speed: "740"}
    16. * {Expt: " 1", Run: "3", Speed: "900"}
    17. * {Expt: " 1", Run: "4", Speed: "1070"}
    18. * ]
    19. */

    上述代码中,数据视图实例 使用 类型的 Connector 载入了一段 CSV 文本。

    目前 DataSet 支持以下几种常用的 Connector:

    直接调用 ,不通过配置项指定使用的 Connector 时,则有以下两种默认的情形:

    1. dv.rows = deepClone(data);

    第二种,data 传入的是另一个 DataView 的实例或者实例的名称,那么

    dsv

    具体用法见示例:

    1. dv.source(dsvStr, {
    2. type: 'dsv', // 指定使用dsv connector
    3. })

    具体用法见示例:

    1. dv.source(csvStr, {
    2. type: 'csv', // 指定使用dsv connector
    3. delimiter: ',' // 指定分隔符
    4. })

    tsv

    具体用法见示例:

    1. dv.source(geojsonData, {
    2. type: 'GeoJSON', // 别名 geo / geojson
    3. })

    TopoJSON

    具体用法见示例:

    1. dv.source(topojsonData, {
    2. type: 'TopoJSON', // 别名 topojson
    3. object: 'xxx' // TopoJSON 相当于多个 GeoJSON 合并起来做了压缩,其中每一个 object 都相当于一份 GeoJSON 数据,指定 object 就是从中提取一份 Geo 数据
    4. })
    dv.dataType 会被更改为 'geo',从而 dv 可以执行一些 Geo 相关的实例方法。

    具体用法见示例:

    dv.root 为根节点

    graph

    具体用法见示例:

    1. dv.source(graph, {
    2. type: 'graph',
    3. nodes: d => d.nodes, // 节点集对应字段
    4. })

    Transform