我正在嘗試更新沿x軸(取決於數據)的不同組的分組條形圖。D3在分組條形圖上更新x軸組
這裏是小提琴:https://jsfiddle.net/mrl513/arjcq9ka/ 使用單選按鈕查看更新。
問題是我需要通過調用現有距離帶上的退出來更新x1域(範圍帶)。原始的範圍波段保留在前4個數據組上。
第一組數據集有4組。第二個數據集有8個組
你可以在小提琴上看到,當第二個按鈕被選中(它有8個gps)時,前4個gps保留原始範圍帶。
感謝您的任何意見!
function updategp(data) {
var ageNames = d3.keys(data[0]).filter(function(key) { return key !== "state"; });
data.forEach(function(d) {d.ages = ageNames.map(function(name) { return {name: name, value: +d[name]}; });
});
x0.domain(data.map(function(d) { return d.state; }));
x1.domain(ageNames).rangeRoundBands([0, x0.rangeBand()]);
y.domain([0, d3.max(data, function(d) { return d3.max(d.ages, function(d) { return d.value; }); })]);
//etc.. see fiddle