2013-03-12 97 views
6

我是新来的d3以及JavaScript,我无法更新数据集,以及重新绘制酒吧。这是迄今为止我所看到的代码。D3更新数据集点击并重绘条形图

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

我有一个函数clickEvent,在任何栏上点击被诱发。这个函数提示输入一个值。

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

我需要做的是更新点击的索引处的数据集,并重绘rects使他们反映这一变化的数据集。

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

+0

你可以尝试寻找'return'ing从东西'clickEvent'功能(或者,也许,在你的'dataset'改变数组的索引值在'clickEvent'函数内部/某处),以便该值可以反映在您的数据集/图中。 – summea 2013-03-12 02:52:25

回答

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/

+0

谢谢!这正是我需要的:) – user2159121 2013-03-12 04:01:41