# 内置图布局

roc-charts 旨在提供图谱操作功能,内置图谱布局算法并不多,更推荐开发者实现自己的布局算法注册到 roc-charts 中。 目前内置了3种布局算法:力导向图(force),圈层图(circle),圆环图(annular)。今后会考虑加入更多的图布局。

const chart = new Chart({
    id: 'domID',
    type: 'force',  // 传入图谱类型即图谱名称绘制相应图谱
    data,
})

WARNING

某些布局算法对传入的 data 数据要求传入一些额外的字段。

# force —— 力导图

力导向图对 data 数据没有要求,在 config 中可配置力导向算法计算次数,默认值为200。

new chart({
    // 所有布局配置
    chart: {
        // force 力导图配置
        force: {
            tickCount: 300  // 设置力导图计算次数
        }
    }
});

# circle —— 圈层图

圈层图的布局为目标节点在中心,与其直接相连的1度节点在第一层,与1度节点直接相连的2度节点在第二层,以此类推。所以节点中需要一个 degree 属性标识当前节点的度数。

const data = {
    nodes: [
        {
            id: 1,
            name: '目标节点',
            degree: 0,  // 0是中心节点
        },
        {
            id: 1,
            name: '节点1',
            degree: 1,  // 1度节点,在第一圈
        }
    ],
    links: [...]
};

# annular —— 圆环图

圆环图对节点属性没有要求,也没有配置项,但是有个要求是所有的节点都必须相连,不能有游离节点(独立的与其它节点没有连线的节点)。如果有游离节点则会出错无法绘制。