0

我正在使用创建水平条形图的代码,我已在此处访问表单并进行了一些修改以满足我的需要。

我希望通过单击其中一个条来转换到新数据集。

例如,如果有人点击 America,我想渲染一个包含美国州名及其值的新图表。

这是初始数据集

var countries = ['India', 'America', 'China', 'Russia', 'London'],
    value = [8, 4, 9, 12, 11];

这就是我希望它在单击美国或 4 栏时过渡到的内容

var AmericaS = ['MA','CA','NH'],
AmericaV = [10,9,11];

这是我到目前为止的代码的jsfiddle:

jsfiddle

我一直在尝试不同的方法来做到这一点,但似乎没有任何效果。我真的很感激你能给我的任何帮助。

4

1 回答 1

0

看看M.Bostocks 的示例,如果我是正确的,这与您尝试做的类似。查看用于绘制图形的代码的页面源代码。

如果您想要一个传递的数据示例 -

var demoArray = {
    "name" : "aa",
    "children" : [{
        "name" : "analytics",
        "children" : [{
            "name" : "cluster",
            "children" : [{
                "test" : 'aaa',
                "name" : "AgglomerativeCluster",
                "size" : 3938
            }, {
                "test" : 'aaa',
                "name" : "CommunityStructure",
                "size" : 3812
            }, {
                "test" : 'aaa',
                "name" : "MergeEdge",
                "size" : 743
            }]
        }, {
            "name" : "graph",
            "children" : [{
                "test" : 'aaa',
                "name" : "BetweennessCentrality",
                "size" : 3534
            }, {
                "test" : 'aaa',
                "name" : "LinkDistance",
                "size" : 5731
            }]
        }]
    }]
};

将页面源代码的第 72-76 行替换为如下所示,

hierarchy.nodes(demoArray);
x.domain([0, demoArray.value]).nice();
down(demoArray, 0);

或者只是将其放入 JSON 数组中。

希望这会对您有所帮助,如果不是道歉的话:D

于 2013-04-11T09:47:19.747 回答