我创建了一个horizontal bar chart使用 d3.js,如果没有出现相同的列值(这里是“响应”字段),一切都会正常工作。
例如:var data = [{
"answer": "答案2",
“回复”:5,
“总计”:7,
“颜色”:“#ff4700”
}, {
"answer": "答案3",
“回复”:5,
“总计”:7,
“颜色”:“#0ED5EE”
}, {
"answer": "回答4",
“回应”:1,
“总计”:7,
“颜色”:“#31EE0E”
}];
如果我们在“响应”字段上提供相同的值(例如重复 5),则生成的条形计数将与预期不匹配,否则它将完美绘制。
你能帮我解决这个问题吗?
感谢和问候
最佳答案
对于 y 域,请根据您的情况提供唯一的名称答案:
.domain(data.map(function(d) {
return d.answer;
}));
然后对于 y 轴给出刻度格式:
.tickFormat(function(d, i){
var d = data[i];
var percentage = parseFloat( (d.response/d.total) * 100).toFixed(1)
return percentage + '%'; })
工作代码here
关于javascript - 使用 d3.js 的水平条形图出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46802557/