0

ドリルダウンが発生したときにプロット バンドとプロット ラインを非表示にするハイチャートにドリルダウン チャートがあります。

ドリルダウン イベントを使用してプロット バンドを正常に非表示にしましたが、ドリルダウンが表示されるとプロット バンド ラベルが再表示されるようです。

このフィドルを参照してください: http://jsfiddle.net/jmunger/KFpJC/

バンドとラインを非表示または表示するコードは次のとおりです。

    events: {
        drilldown: function () {
            var myAxis = this.xAxis[0];
            var myPlotBands = myAxis.plotLinesAndBands;
            $.each(myPlotBands, function (i, linesAndBands) {
                if (linesAndBands.label) {
                    linesAndBands.label.hide();
                    linesAndBands.label.opacity = 0;
                }
                linesAndBands.svgElem.hide();
            });
        },
        drillup: function () {
            $.each(this.xAxis[0].plotLinesAndBands, function (i, linesAndBands) {
                linesAndBands.svgElem.show();
                if (linesAndBands.label) {
                    linesAndBands.label.show();
                }
            });
        }
    }

ラベルがドリルダウンで非表示になり、ドリルアップで再表示されるようにする方法はありますか? この線:

linesAndBands.label.hide();

ラベルは効果的に非表示になりますが、ドリルダウン グラフが表示されると再び表示されます。

4

1 に答える 1

1

代わりに.hide()使用できます.css(): http://jsfiddle.net/KFpJC/2/

        events: {
            drilldown: function () {
                var myAxis = this.xAxis[0];
                var myPlotBands = myAxis.plotLinesAndBands;
                $.each(myPlotBands, function (i, linesAndBands) {
                    linesAndBands.svgElem.hide();
                    if (linesAndBands.label) {
                        linesAndBands.label.css({
                            display: 'none'   
                        });
                    }
                });
            },
            drillup: function () {
                $.each(this.xAxis[0].plotLinesAndBands, function (i, linesAndBands) {
                    linesAndBands.svgElem.show();
                    if (linesAndBands.label) {
                        linesAndBands.label.css({
                            display: 'block'   
                        });
                    }
                });
            }
        }

ほとんどの場合、他のグラフィックスがプロット領域に配置された後にラベルが配置されているため (x/y 位置と可視性)、ラベルが返されます。

于 2014-03-05T10:39:05.660 に答える