【发布时间】:2018-10-20 09:01:22
【问题描述】:
我想参考上一个问题:
stacked bar chart with overlapping bars C3js
但是,我唯一的问题是我想重叠列以显示(作为示例)4 名学生中有 3 名通过了该科目。现在我有一个高度为 3 的条,顶部有一个高度为 4 的条,这使它成为 7,我想要一个 4 的条与一个 3 的条重叠。如何更改我的代码?谢谢:
<div id="chart3"></div>
<script>
var chart = c3.generate({
bindto: '#chart3',
data: {
url: '../static/CSV/Chart_data/number_students.csv,
x:'AC_YEAR',
type: 'bar',
groups: [
['Total women', 'Passed women'],
['Total men', 'Passed men']
],
},
axis: {
y: {
label: {
text:"Number of students",
position: "outer-middle"
},
},
x: {
label: {
text:"Year",
position: "outer-center"
},
}
},
size: {
height: 400,
width: 800
},
bar:{
width:{ratio:0.7}
},
legend: {
show: true,
position: 'inset',
inset: {
anchor: 'top-right',
x: 10,
y: 5,
step: 2
}
}
});
</script>
csv 文件 number_students 是:
AC_YEAR,Passed women,Passed men,Total women,Total men
2010,72,239,98,315
2011,77,227,83,276
2012,65,226,93,298
2013,54,215,77,283
2014,63,233,88,294
2015,49,205,64,267
当前是这样的:
我想要的应该重叠,例如在 2010 年,我们只会看到一点绿色(7 名没有通过的女学生),因为前面的蓝色只比绿色少 7 个单位.而在右边的 29 个单位的红色(没有通过的男学生)。
【问题讨论】:
-
你能告诉我们你的图表应该是什么样子吗?
-
感谢@AdityaK 看到上面的编辑问题
-
解决方案使用d3可以吗?
-
是的,@AdityaK 没问题,但我对它不是很熟悉,所以如果你能准确说明你将如何修改我以前的代码,那将有很大帮助!提前致谢
标签: javascript html d3.js bar-chart c3.js