Highcharts: plotLineラベルは、Array.prototype.flat()をサポートするブラウザーでは機能しません。

作成日 2018年06月14日  ·  6コメント  ·  ソース: highcharts/highcharts

この問題は、 https://github.com/highcharts/highcharts/blob/7e30b142a1e0809302d14b55668c8b6b0b4215d0/js/parts/PlotLineOrBand.js#L153から発生し

その「if」が何をテストしているかはわかりませんが、その属性の名前を変更する必要があるでしょう...

期待される動作

plotLineラベルが表示されます。

実際の動作

plotLineラベルは表示されません。

再現手順のあるライブデモ


http://jsfiddle.net/cers/whzeL2um/

製品バージョン


Highcharts 6.1.0(他はチェックしていません)

影響を受けるブラウザ

Firefox 62
Chrome 69

Bug

最も参考になるコメント

回避策

何らかの理由でHighchartsを更新できない場合の回避策は次のとおりです。

    // Drop-in fix for Highcharts issue #8477 on older Highcharts versions. The
    // issue is fixed since Highcharts v6.1.1.
    Highcharts.wrap(Highcharts.Axis.prototype, 'getPlotLinePath', function(proceed) {
        var path = proceed.apply(this, Array.prototype.slice.call(arguments, 1));
        if (path) {
            path.flat = false;
        }
        return path;
    });

jsFiddle

全てのコメント6件

こんにちは@cers
報告ありがとうございます。

内部メモ
この問題はより複雑であり、つまり他の参考文献にも記載されています。

これはChrome69のバージョン5.0.11の問題でもあることを確認できます。

こんにちは@cfarm
この問題はすでに修正されているため、Highchartsライブラリを最新バージョン(v6.1.3)に更新することをお勧めします。

回避策

何らかの理由でHighchartsを更新できない場合の回避策は次のとおりです。

    // Drop-in fix for Highcharts issue #8477 on older Highcharts versions. The
    // issue is fixed since Highcharts v6.1.1.
    Highcharts.wrap(Highcharts.Axis.prototype, 'getPlotLinePath', function(proceed) {
        var path = proceed.apply(this, Array.prototype.slice.call(arguments, 1));
        if (path) {
            path.flat = false;
        }
        return path;
    });

jsFiddle

アプリケーションでpathヌルチェックが必要でした。

おかげで、上記のスニペットにifを追加しました。

このページは役に立ちましたか?
0 / 5 - 0 評価