使用d3.js
通过获取100个对象的数组绘制一系列矩形。尽管console.log(data)
显示正在检索新数据,但新数据点似乎没有附加任何矩形。d3.js图表未更新新数据
是.enter().append()
使用不正确?
function init() {
var width = 800,
height = 400,
margin = 50;
chart = d3.select('#chart')
.append('svg:svg')
.attr('width', width)
.attr('height', height);
}
function do_update() {
data = fetch_latest_top100();
console.log(data)
chart.selectAll('rect')
.data(data)
.enter()
.append('svg:rect')
.attr('x', function(d) { return x(d.x); })
.attr('y', function(d) { return y(d.y); })
.attr('height', function(d) { return d.value; })
.attr('width', function(d) { return 3 });
}
的jsfiddle:http://jsfiddle.net/BU8cA/
这将是更好,如果你有一个小提琴(http://jsfiddle.net/)或plunkr http://plnkr.co/edit/?p=catalogue这将有助于看到问题生活 –
我不知道这是一个复制/粘贴的问题,但你错过了一个“)”之后y(dy在y attr,这可能是错误 – tomtomtom
@tomtomtom复制粘贴问题,更正了错字,谢谢! – Nyxynyx