Lar*_*ert 7 javascript jquery highcharts
我正在使用Highcharts为我的网站渲染一些图表.有时,我需要从图表中删除所有系列并向图表添加一些新系列,因为我通过ajax请求了一些新数据.
我目前正在这样做:
var chart = $('#container').highcharts();
while(chart.series.length) {
chart.series[0].remove();
}
chart.addSeries({
data: [144.0, 176.0, 29.9, 71.5, 106.4, 129.2, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
});
chart.addSeries({
data: [129.2, 106.4, 135.6, 95.6, 54.4, 148.5, 144.0, 176.0, 29.9, 71.5, 216.4, 194.1]
});
chart.addSeries({
data: [106.4, 129.2, 135.6, 148.5, 144.0, 176.0, 29.9, 71.5, 194.1, 95.6, 54.4, 216.4]
});
Run Code Online (Sandbox Code Playgroud)
你可以在这个小提琴中看到.
但我的问题是,新系列与第一批系列的颜色完全不同.
我不能简单地替换数据,因为系列的数量可能会改变,所以我必须删除所有系列并添加新系列.
如何归档新系列的样式与替换的系列相似?(在我的小提琴中,新系列应该有浅蓝色,深蓝色和一些第三种颜色.)
我创建了一些测试用例来澄清我面临的问题.顶部图表是它应该如何看,底部图表是它的实际外观.我希望他们是一样的!
解决方案需要适用于所有这些情况!
Ham*_*und 16
我在GitHub上的pull请求中找到了解决方案(https://github.com/highslide-software/highcharts.com/pull/203).
您只需在删除系列后重置Highcharts颜色计数器.还有一个符号计数器.
更新:从4.0.3及更高版本开始,计数器的名称已更改:
var chart = $('#container').highcharts();
while(chart.series.length) {
chart.series[0].remove();
}
chart.colorCounter = 0;
chart.symbolCounter = 0;
chart.addSeries({
data: [144.0, 176.0, 29.9, 71.5, 106.4, 129.2, 135.6, 148.5, 216.4, 194.1, 95.6, 54.4]
});
chart.addSeries({
data: [129.2, 106.4, 135.6, 95.6, 54.4, 148.5, 144.0, 176.0, 29.9, 71.5, 216.4, 194.1]
});
chart.addSeries({
data: [106.4, 129.2, 135.6, 148.5, 144.0, 176.0, 29.9, 71.5, 194.1, 95.6, 54.4, 216.4]
});
Run Code Online (Sandbox Code Playgroud)
实例:http://jsfiddle.net/juuQs/18/
(在4.0.3版之前,您必须使用chart.counters.color = 0和chart.counters.symbol = 0)
| 归档时间: |
|
| 查看次数: |
3017 次 |
| 最近记录: |