我正在使用highcharts来显示两个系列的数据。第一个是原始数据,第二个是基于初始数据计算得出的趋势线。问题是,当更改图表类型时,它会将趋势线计算为一个相等的序列,并将其与第一个序列一起堆叠/绘制。
我正在尝试:
- 将趋势线数据保留为虚线类型并仅更改主要数据图表类型
--或-- - 如果无法保持原样,则删除/折扣趋势线。
我已经把确切的问题放在了 jsfiddle上。
HTML 下拉列表:
<select id="chartType">
<option value="spline">Spline</option>
<option value="line">Line</option>
<option value="column">Column</option>
<option value="area">Area</option>
</select>
我用来更改图表类型的函数:
$('#chartType').change(function(){
changeType(chart.series, this.value);
});
function changeType(series, newType) {
serie = series[0];
serie.chart.addSeries({
type: newType,
name: serie.name,
color: serie.color,
data: serie.options.data
}, false);
serie.remove();
chart.redraw();
}
我series[0]
在我的函数中用作主要数据 - 因为它是要加载的第一个系列,但是当我随机循环浏览下拉选项时,它似乎几乎循环了系列 - 改变了趋势线的图表类型。 ..这几乎就像更新后的系列订单在更改类型后互换!
任何想法/黑客/解决方案?
系列数据:
series: [
{
lineWidth: 6,
name: 'Primary data',
data: [59.359,60.395,68.830,70.290,73.259,81.344,60.113,60.113,80.644,110.929,96.731,78.104]
},
{
lineWidth: 3,
dashStyle: 'dash',
name: 'Trend-line',
color: '#999999',
shadow: 0,
data: [59.259,62.123,64.986,67.850,70.714,73.577,76.441,79.305,82.168,85.032,87.896,90.759]
}
]