单击D3更新数据集并重新绘制条形图

时间:2013-03-12 02:22:55

标签: javascript d3.js redraw mouseclick-event

我是d3以及javascript的新手,我无法更新数据集,也无法重新绘制条形图。这是我到目前为止所看到的代码。

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

我有一个clickEvent函数,只需点击任意一个条就会激活。此功能提示输入值。

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

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

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

1 个答案:

答案 0 :(得分: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/