📅  最后修改于: 2023-12-03 14:49:55.277000             🧑  作者: Mango
要使用新数据更新图表,我们需要动态创建/更新DOM元素和使用JavaScript将数据绑定到这些元素上。下面是一个简单的使用JavaScript更新图表的流程:
XMLHttpRequest
或fetch
来获取数据。例如:fetch('/api/data')
.then(response => response.json())
.then(data => {
// 处理数据并更新图表
});
const sortedData = data.sort((a, b) => a.value - b.value);
const groupedData = d3.group(sortedData, d => d.category);
const formattedData = Array.from(groupedData, ([key, values]) => ({
category: key,
value: d3.sum(values, d => d.value)
}));
const bars = d3.select('#chart')
.selectAll('.bar')
.data(formattedData, d => d.category);
bars.enter() // 绑定新数据
.append('div')
.attr('class', 'bar')
.merge(bars) // 更新现有数据
.style('width', d => `${d.value}px`);
bars.exit() // 删除多余数据
.remove();
使用上述流程,可以实现动态更新图表。当数据发生变化时,只需重新获取数据和处理数据,即可通过更新图表元素来实时反映这些变化。
注:上述示例使用了d3.js库,但也可以使用其他库或纯JavaScript来达到相同的效果。