条形图颜色基于 c3.js 中的值
Bar graph colors based on value in c3.js
我在 c3.js (here's a fiddle) 中有以下条形图:
var chart = c3.generate({
data: {
x: 'Letter',
columns:
[
['Letter', 'A','B','C','D'],
['value', 25,50,75,100]
],
type: 'bar',
colors: {
value: '#FF0000'
},
},
axis: {
x: {
type: 'category'
}
},
legend: {
show: false
}
});
这会将所有条形设置为红色。我想要的是从 FF0000 到 10FF00 的条形颜色 this gradient,我相信这只是在颜色的十进制值上增加 4096。
我希望渐变从 50 开始到 100 结束(也就是说,绿色及以下的任何东西都将是纯红色 FF0000,而 100 将是绿色 10FF00)。
我试图按照 this example 来根据数据点的值在 c3.js 图表上设置数据点的颜色。在示例中,data3
的值随着其值的增加而变暗。我一直在尝试修改 color: function (color, d)
,但我似乎无法让它做任何我想让它做的事情。
如有任何帮助,我们将不胜感激。谢谢!
我不确定您在 color: function
中做了什么,但这是设置它的正确方法。关于你想要的梯度,它不能通过仅仅增加它的十六进制值来实现,因为从黄色到绿色需要减少该值。以下示例从红色变为黄色:
var chart = c3.generate({
data: {
x: 'Letter',
columns:
[
['Letter', 'A','B','C','D'],
['value', 25,50,75,100]
],
type: 'bar',
colors: {
value: function(d) {
return '#'+(0xff0000+(d.value-25)*256*3).toString(16);
}
},
},
axis: {
x: {
type: 'category
}
},
legend: {
show: false
}
});
您可以像
一样添加 css
.c3-bar-0 {
fill:rgb(204, 0, 102)!important;
}
.c3-bar-1 {
fill:rgb(51, 153, 255)!important;
}
.c3-bar-2 {
fill: rgb(0, 255, 204)!important;
}
我在 c3.js (here's a fiddle) 中有以下条形图:
var chart = c3.generate({
data: {
x: 'Letter',
columns:
[
['Letter', 'A','B','C','D'],
['value', 25,50,75,100]
],
type: 'bar',
colors: {
value: '#FF0000'
},
},
axis: {
x: {
type: 'category'
}
},
legend: {
show: false
}
});
这会将所有条形设置为红色。我想要的是从 FF0000 到 10FF00 的条形颜色 this gradient,我相信这只是在颜色的十进制值上增加 4096。
我希望渐变从 50 开始到 100 结束(也就是说,绿色及以下的任何东西都将是纯红色 FF0000,而 100 将是绿色 10FF00)。
我试图按照 this example 来根据数据点的值在 c3.js 图表上设置数据点的颜色。在示例中,data3
的值随着其值的增加而变暗。我一直在尝试修改 color: function (color, d)
,但我似乎无法让它做任何我想让它做的事情。
如有任何帮助,我们将不胜感激。谢谢!
我不确定您在 color: function
中做了什么,但这是设置它的正确方法。关于你想要的梯度,它不能通过仅仅增加它的十六进制值来实现,因为从黄色到绿色需要减少该值。以下示例从红色变为黄色:
var chart = c3.generate({
data: {
x: 'Letter',
columns:
[
['Letter', 'A','B','C','D'],
['value', 25,50,75,100]
],
type: 'bar',
colors: {
value: function(d) {
return '#'+(0xff0000+(d.value-25)*256*3).toString(16);
}
},
},
axis: {
x: {
type: 'category
}
},
legend: {
show: false
}
});
您可以像
一样添加 css.c3-bar-0 {
fill:rgb(204, 0, 102)!important;
}
.c3-bar-1 {
fill:rgb(51, 153, 255)!important;
}
.c3-bar-2 {
fill: rgb(0, 255, 204)!important;
}