0

假设我的 highstock 中有两个窗格,我可以动态删除其中一个窗格吗?因此,如果我单击窗格,我应该能够捕获事件以及窗格的 id(yaXis),然后删除轴及其系列。我已经像下面一样动态添加了窗格(所以我轴上有 ID 等)

chartX.addAxis({ // Secondary yAxis
                    id: studyName,
                    title: {
                        text: studyText
                    },
                    isX: false,
                    lineWidth: 2,
                    lineColor: '#08F',
                    //opposite: true,
                    top: startHeight,
                    height: 100,
                    offset: 0
                });
                var chartToUpdate=chartX.addSeries({
                        name: 'ADBE',
                        id: 'studyNew',
                        color: 'black',
                        data: studyData,
                        yAxis: studyName
                    });
                    $("#selectStudy").append("<option value='"+countNoOfStudiesAdded+"'>"+studyName+"</option>")
                }

是否可以如上所述删除窗格。可以帮助实现窗格的动态移除的任何其他方法将不胜感激。

谢谢。

4

2 回答 2

0

好的,我通过修补得到了解决方案……最好的方法是添加事件,这样每当我单击该系列的图例时,它的窗格就会被删除。

var chartToUpdate=chartX.addSeries({
                        name: 'ADBE',
                        id: studyName,
                        color: 'black',
                        data: studyData,
                        yAxis: studyName,
                        events: {
                            legendItemClick: function(event) {
                                this.yAxis.remove();
                                countNoOfStudiesAdded--;
                            }
                        }
                    });

如果有人想要我的问题的确切答案,那么解决方案是有一个下拉选择/选项和一个按钮。单击按钮后,我们会从下拉列表中找到要删除的窗格,然后将其删除,如下所示:

    $('#remove').click(function() {
        if($("#selectStudy").val()!=0) {
            var studyToDelete=chartX.get($("#selectStudy option:selected").text());
            while(studyToDelete!=null) {
                studyToDelete.remove();
                $("#selectStudy option:selected").remove()
                studyToDelete=chartX.get($("#selectStudy option:selected").text());
            }
        }
    });     

其中idofbuttonremove, idofselection下拉列表是selectStudy. 因此,我们发现附加到窗格的所有系列具有与广告相同的 IDyAxis删除它们。

于 2013-10-27T12:08:21.717 回答
0

您可以使用 Axis.remove() 函数来删除轴。

http://api.highcharts.com/highcharts#Axis.remove()

于 2013-10-28T10:48:40.837 回答