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
크둬 69

κ°€μž₯ μœ μš©ν•œ λŒ“κΈ€

ν•΄κ²° 방법

μ–΄λ–€ 이유둜 ν•˜μ΄ 차트λ₯Ό μ—…λ°μ΄νŠΈ ν•  μˆ˜μ—†λŠ” μ‚¬λžŒλ“€μ„μœ„ν•œ ν•΄κ²° 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

    // 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 λ‹˜ , μ•ˆλ…•ν•˜μ„Έμš”.
μ‹ κ³  ν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€.

λ‚΄λΆ€ μ°Έκ³ 
이 λ¬Έμ œλŠ” 더 λ³΅μž‘ν•˜λ©° λ‹€λ₯Έ 참쑰에도 λ‚˜νƒ€λ‚©λ‹ˆλ‹€.

이것은 Chrome 69의 버전 5.0.11μ—μ„œλ„ λ¬Έμ œμž„μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @cfarm ,
이 λ¬Έμ œλŠ” 이미 μˆ˜μ •λ˜μ—ˆμœΌλ―€λ‘œ Highcharts 라이브러리λ₯Ό μ΅œμ‹  버전 (v6.1.3)으둜 μ—…λ°μ΄νŠΈν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

ν•΄κ²° 방법

μ–΄λ–€ 이유둜 ν•˜μ΄ 차트λ₯Ό μ—…λ°μ΄νŠΈ ν•  μˆ˜μ—†λŠ” μ‚¬λžŒλ“€μ„μœ„ν•œ ν•΄κ²° 방법은 λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

    // 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 에 λŒ€ν•œ null 검사가 ν•„μš”ν–ˆμŠ΅λ‹ˆλ‹€.

κ°μ‚¬ν•©λ‹ˆλ‹€. μœ„μ˜ 슀 λ‹ˆνŽ«μ— if 을 μΆ”κ°€ν–ˆμŠ΅λ‹ˆλ‹€.

이 νŽ˜μ΄μ§€κ°€ 도움이 λ˜μ—ˆλ‚˜μš”?
0 / 5 - 0 λ“±κΈ‰