如何用D3.js创建非层次关系圆图?

时间:2015-07-02 14:46:56

标签: d3.js data-visualization

我试图创建一个图表,该图表显示同一层次结构级别上的节点之间的链接,但是在圆形布局中包含不同的组。它基本上是附加到对象a Circos的关键字/标签/组的可视化:

var data = 
    [
        {
            "name": "Adam",
            "tags": ["tall", "blonde"]
        },
        {
            "name": "Barbara",
            "tags": ["tall", "brunette", "student", "single"]
        }
    ];

或者,就像我试图做的事情一样:

var data =
    [
        {
            "name": "Project 1",
            "categories":
            [
                "Category A",
                "Category B",
                "Category C",
                "Category D"
            ]
        },
        {
            "name": "Project 2",
            "categories":
            [
                "Category C",
                "Category D",
                "Category E"
            ]
        },
        {
            "name": "Project 3",
            "categories":
            [
                "Category A",
                "Category E"
            ]
        },
        {
            "name": "Project 4",
            "categories":
            [
                "Category A",
                "Category C",
                "Category D",
                "Category E"
            ]
        },
        {
            "name": "Project 5",
            "categories":
            [
                "Category A",
                "Category B",
                "Category D"
            ]
        }
    ];

每个对象可以具有与圆圈中出现的节点副本数相对应的多个类别。在视觉上,它应该看起来像这样:

Circular Diagram

D3.js有可能吗?如果是这样,哪个布局?它看起来像chord(但没有值)和bundle(没有层次结构)。

我想象脚本需要遍历JSON数据并首先查找所有唯一类别,然后根据附加到哪个类别和多少类别来分配和链接每个对象的节点。最后,它会标记每个类别。

任何想法都会受到赞赏。

0 个答案:

没有答案