gpt4 book ai didi

javascript - 更改 C3.js 堆积条形图中单列的颜色

转载 作者:太空宇宙 更新时间:2023-11-04 09:48:25 26 4
gpt4 key购买 nike

我试图在 c3.js 堆叠条形图中突出显示一组值。正在关注this example我可以更改非堆叠条形图中单个条形的颜色,但我无法弄清楚如何识别单个堆叠的索引。我的 JS 是:

var chart = c3.generate({
bindto: '#chart1',
data: {
x: 'x',
columns: [
['x', "1ST", "2ND", "3RD", "4TH"],
['A', 6, 8, 2, 9],
['B', 3, 4, 1, 6],
['C', 4, 4, 2, 4]

],
type: 'bar',
groups: [
['A', 'B', 'C']
],
colors: {
A: '#666666',
B: '#cccccc',
C: '#428bca',
},
order: 'asc'
},
axis: {
x: {
type: 'category'
}
}
});

这个例子的方法是:

color: function (color, f) {
return f.index === 4 ? "#dd0" : "#ddd";
}

进行中的工作 JSFIDDLE .如何获取单个堆栈的 3 个值的索引,然后使用它们更改颜色?例如,如果我想通过将颜色更改为一组红色来突出显示“2ND”?

最佳答案

改编自此处的示例 --> http://c3js.org/samples/data_color.html

    color : function (color, d) {
return d.index && d.index === 2 ? "#dd0" : color;
},

https://jsfiddle.net/kmjpg30c/3/

d.index 为您提供堆栈的索引 - 但是,在您的示例中没有索引 4,因为索引从 0 开始,所以您有 [0,1,2,3]作为一个可能的范围

因此,针对索引进行测试,如果匹配则返回新颜色,如果不匹配则返回最初传入的 color

(d.index 测试存在,因为 color 函数被其他例程使用,这些例程只传入一个表示数据集的字符串(“A”、“B” ", "C"in your example), 因此您需要首先测试 d 中是否存在您需要的字段。

如果您只想突出显示堆栈的一部分,也可以使用 .id 字段,例如d.index === 2 && d.id === "A"

关于javascript - 更改 C3.js 堆积条形图中单列的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39304868/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com