0

您好我想问一下如何在Highcharts中正确实例化和处理动态添加的系列。

我带来了一个这样的系列实例:

var newSeries = new Highcharts.Series();
var newData = [];
date = Date.parse(newDate() +' UTC');
name = 'datapoint name';

newData.push([date, name]);

newSeries.name = 'Somename';

//newData variable processing
newSeries.data = newData;
newSeries.color = "#EEEEEE";
newSeries.showInLegend = false;
newSeries.index = -1;

chart.addSeries(newSeries);

使用此代码,我能够在 Highchart 对象运行时添加一个新系列。但是,在将其添加到实际图表之前,我想对我的系列对象进行一些额外的处理。

我试过了:

newSeries.marker.enabled = "false";

newSeries.marker.states.hover = "false";

newSeries.index = -1; //to be able to send the series at the backmost part of the chart

但未能达到预期的效果。

如果可能的话,有人可以为我指出正确的方向,即如何正确地实例化一个包含series对象的marker对象吗?任何帮助将不胜感激。

编辑:格雷格的正确答案

4

1 回答 1

1

如果将每个点添加为对象,则您可以控制标记,如下所示:

function addSeries(chart) {

        var newSeries = new Highcharts.Series();
        newSeries.name = 'Tokyo';
        newSeries.data = [{y: 1}, {y:20}, {y:23}, {y:11}];
        newSeries.zIndex = -1;

         for (var i = 0; i < newSeries.data.length; i++) {
             var datum = newSeries.data[i];
             datum.marker = {
                 enabled: false,
                 states: {
                     hover: {
                         enabled: false,
                         lineColor: '#ff0000'
                     }
                 }
            };
         }

        chart.addSeries(newSeries);     

    }

这是一个工作示例:http: //jsfiddle.net/LrvB9/

于 2012-11-06T07:09:45.843 回答