6

我是 d3 和 javascript 的新手,我在更新数据集以及重绘条形时遇到了麻烦。这是到目前为止我一直在查看的代码。

http://jsfiddle.net/TwEhT/2/

我有一个函数 clickEvent,它是在点击任何栏时触发的。此函数提示输入值。

function clickEvent() 
{
    var op = prompt("Please enter the value", "");
};

我需要做的是更新点击索引处的数据集,并重新绘制矩形,以便它们反映对数据集的更改。

任何帮助,将不胜感激。谢谢。

4

1 回答 1

10

对于一个非常简单的示例,您可以直接更新数据集,并将条形绘制代码放在一个 render() 函数中,您可以调用该函数来重新渲染更改。

var dataset = [...];

function render() {
    // bind dataset to rects and draw here
}

function clickEvent(d, i) {
    var op = prompt("Please enter the value", d);
    dataset[i] = parseInt(op, 10);
    render();
};

这是您的代码中的一个运行示例:http: //jsfiddle.net/findango/TwEhT/4/

于 2013-03-12T03:23:09.673 回答