【发布时间】:2016-03-21 19:20:15
【问题描述】:
有没有办法使用chart.load()根据颜色数组更新颜色?
问题是,如果我删除任何以前插入的列,然后插入另一个列并“重新加载”图表,新颜色将是数组中的下一个颜色,而不是遵循真正的颜色数组序列。
例如。颜色数组是 [red,green,blue,white],然后我为图表提供 3 列数据,并用红色、绿色和蓝色线正确绘制它们,然后我删除一列并重新加载图表(显示线条颜色是红色和绿色),然后我插入一个包含新数据的新列,而不是用蓝色绘制这条新线(这是颜色数组中的第三个),它的末端是用数组中的下一种颜色绘制的,白色.
这是我正在使用的代码:
我首先使用一组颜色生成图表:
var colors= ['#1f77b4', '#aec7e8', '#ff7f0e', '#ffbb78', '#2ca02c', '#98df8a', '#d62728', '#ff9896', '#9467bd', '#c5b0d5', '#8c564b', '#c49c94', '#e377c2', '#f7b6d2', '#7f7f7f', '#c7c7c7', '#bcbd22', '#dbdb8d', '#17becf', '#9edae5']
var chart = c3.generate({
....
color: {
pattern: colors
}
....
});
那么当用ajax更新图表时:(插入或删除列)
chart.load({
columns: arr2,
unload: true,
done: function () {
},
});
arr2 是一个多维数组,将数据输入图表。
我尝试在此处插入:{ pattern: colors } 但它不起作用。
【问题讨论】:
标签: javascript charts c3.js