我有多个系列的Highcharts和每个系列的'select'。我的目标是通过'select'改变系列类型。
$('#ChType').change(function () {
var series = chart.series[0]
var newType = $('#ChType').val();
changeType(series, newType);
})
$('#ChType2').change(function () {
var series = chart.series[1]
var newType = $('#ChType2').val();
changeType(series, newType);
})
function changeType(series, newType) {
var dataArray = [],
points = series.data;
series.chart.addSeries({
type: newType,
name: series.name,
color: series.color,
data: series.options.data
}, false);
alert(series.name);
series.remove();
}
据我所知,每次更改类型时,系列都会从数组中的当前位置移除并添加到结尾。目前我只能更改位置系列[0]中的系列。
如何更改任何其他系列而不仅仅是系列[0]?
我确实看到了类似的问题here,但无法让它发挥作用。
我在jsFiddle中的示例代码。
答案 0 :(得分:16)
您可以使用包含series.update()方法的v3.0 highcharts,它允许动态更改图表类型。
chart.series[0].update({
type: "column"
});
答案 1 :(得分:0)
为什么不在类似问题中包含您链接到的循环?
$('#ChType').change(function(){
var series;
for ( i = 0 ; i < chart.series.length ; i++ ) {
if ( chart.series[i].name == 'MyData1' ) {
series = chart.series[i];
}
}
//var series = chart.series[0]
var newType = series.type == $('#ChType').val() ? $('#ChType').val()
为每种类型设置适当的位置 - http://jsfiddle.net/waBck/5/