我目前正在使用c3图表来绘制堆栈条形图。我可以根据点击事件填充动态数据,它的工作正常,但当我查看图表时,根据我的输入显示在图表中的条形图未正确定位
在这里,我附上我的示例代码:
Rowvalue = [['1-10'].concat(processed_value_final0),
['11-50'].concat(processed_value_final1),
['51-200'].concat(processed_value_final2),
['201-500'].concat(processed_value_final3),
['501-1k'].concat(processed_value_final4)];
groupCol = ['1-10', '11-50', '51-200', '201-500', '501-1k'];
var chart = c3.generate({
bindto: div_id,
data: {
columns:Rowvalue,
type: 'bar',
order: 'asc',
groups: [
groupCol
]
},
bar: {
width: barwd
} ,
grid: {
y: {
show: true,
lines: [{value:0}]
}
},
axis: {
x:
{
type: 'category',
categories: keyValue
},
y:
{
min : 0,
padding : {
bottom : 0
}
}
},
color: {
pattern: ['#ED5565', '#23C6C8', '#F8AC59', '#1AB394', '#1C84C6', '#F8AC59', '#23C6C8', '#ED5565', '#F8AC59']
},
legend:
{
show: true,
position:'right'
},
tooltip :
{
show:true
}
});
您需要更改配置的order
部分中的值,该部分可以是i)'asc'
或'desc'
- 它可以处理数据值,即最大值或最小值,ii)| null
是相同的(但不是,见后面)作为数据排序,或iii)数据系列键的数组或iv)操作数据系列键的函数。
这里我们将顺序更改为数组 - groupCol数组但反转:
order: groupCol.reverse(),
这会将顺序更改为groupCol和rowValue变量中定义的顺序的反转。需要反转的原因是堆栈绘制算法从下往上开始,而图例键从上到下列出数据系列键。这也是为什么null
选项不起作用的原因,条形图和图例将按照彼此的顺序颠倒。