我有以下javascript代码来绘制两个数据集并为每个数据集设置相同的颜色方案:
<fieldset>
<legend><h3>Engine</h3></legend>
<output for="engine" id="engine">0</output>
<input id="engine" type="range" min="0" max="10" value="0" step="1" list="0-10" oninput="outputUpdate(this)">
<input type="checkbox" name="engine-closed" id="engine-closed" onclick='handleClick(this);' value="0" /><label for="engine-closed">Closed</label>
</fieldset>
但是,由于两个数据集都具有相同的颜色方案函数,我想将颜色函数作为自己的辅助函数,并调用它两次,如下所示:
var chart = c3.generate({
data: {
x: 'Letter',
columns:
[
['Letter', 'A','B','C','D'],
['test', 25,50,75,100],
['test2', 10, 20, 30, 40]
],
type: 'bar',
colors: {
test: function(d) {
return '#'+(0xff0000+(d.value-25)*256*3).toString(16);
},
test2: function(d) {
return '#'+(0xff0000+(d.value-25)*256*3).toString(16);
}
},
},
axis: {
x: {
type: 'category'
}
},
legend: {
show: false
}
});
但是,as you can see with this fiddle,辅助函数不起作用,我无法弄清楚原因。我自己添加了控制台打印语句,辅助函数确实返回了与硬编码到两个原始函数时相同的值。
是否有一些非常明显的东西我不知道?
答案 0 :(得分:1)
&#34;我是否有一些非常明显的遗漏?&#34;
colors: {
test: function(d) {
RETURN getColor(d);
},
test2: function(d) {
RETURN getColor(d);
}
},
我一直这样做: - )