Highcharts: 8.1.1둜 μ—…κ·Έλ ˆμ΄λ“œν•œ ν›„ 빈 μ›ν˜• β€‹β€‹μ°¨νŠΈλ₯Ό λ Œλ”λ§ν•˜λŠ” λ™μ•ˆ 였λ₯˜κ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€.

에 λ§Œλ“  2020λ…„ 06μ›” 14일  Β·  22μ½”λ©˜νŠΈ  Β·  좜처: highcharts/highcharts

μ˜ˆμƒλ˜λŠ” 행동

빈 μ›ν˜• μ°¨νŠΈλŠ” 였λ₯˜ 없이 λ Œλ”λ§λ©λ‹ˆλ‹€.

μ‹€μ œ 행동

였λ₯˜κ°€ λ‚˜νƒ€λ‚©λ‹ˆλ‹€.
ReferenceError: Highcharts is not defined
https://github.com/highcharts/highcharts/blob/decfc3ab47ec88e28472f065fd2454b46c9f1fd1/js/parts/PieSeries.js#L789

μž¬ν˜„ 단계가 ν¬ν•¨λœ 라이브 데λͺ¨

https://codesandbox.io/s/highcharts-vue-demo-ye65e

μ œν’ˆ 버전

8.1.1

영ν–₯을 λ°›λŠ” λΈŒλΌμš°μ €

λͺ¨λ‘

Done Regression

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

이것이 8.1.2μ—μ„œλ„ μ—¬μ „νžˆ λ¬Έμ œμΈμ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.

https://stackblitz.com/edit/angular-ivy-udtk3a?file=package.json

λͺ¨λ“  22 λŒ“κΈ€

λΉ„μ–΄ μžˆλŠ” μƒνƒœ 둜

μ•ˆλ…•ν•˜μ„Έμš” @pablolmedorado 및 @clemeno
문제λ₯Ό μ‹ κ³ ν•΄ μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!

λ¬Έμ œλŠ” μ΅œμ‹  λ²„μ „μ—λ§Œ 있고 λͺ¨λ“  λž˜νΌμ™€ κ΄€λ ¨λœ 것 κ°™μŠ΅λ‹ˆλ‹€. μ‹€μ œλ‘œλŠ” master λΈŒλžœμΉ˜μ—μ„œ 이미 μˆ˜μ •λ˜μ—ˆμ§€λ§Œ master 의 μ΅œμ‹  λΉŒλ“œλ₯Ό μ½”λ“œμƒŒλ“œλ°•μŠ€ μ˜ˆμ œμ— λ„£κ³  Highcharts 버전을 κ΅μ²΄ν•œ ν›„ λ¬Έμ œκ°€ 사라진 κ²ƒμ²˜λŸΌ 보이기 λ•Œλ¬Έμž…λ‹ˆλ‹€.
μš”μ•½ν•˜μžλ©΄, μš°λ¦¬λŠ” 곧 μƒˆ 버전을 μΆœμ‹œν•΄μ•Ό ν•˜λ©° 이 λ¬Έμ œλŠ” μžλ™μœΌλ‘œ ν•΄κ²°λ©λ‹ˆλ‹€.

라이브 μ˜ˆμ‹œ: https://codesandbox.io/s/highcharts-vue-demo-61e0v

κ°μ‚¬ν•©λ‹ˆλ‹€!

이 λ¬Έμ œλŠ” 적어도 npm에 κ²Œμ‹œλœ 버전 8.1.2μ—μ„œ μ—¬μ „νžˆ μ‘΄μž¬ν•˜λŠ” κ²ƒμœΌλ‘œ λ³΄μž…λ‹ˆλ‹€.

문제λ₯Ό λ‹€μ‹œ μ—½λ‹ˆλ‹€.

@bre1470 - 확인해 Highcharts λ„€μž„μŠ€νŽ˜μ΄μŠ€λŠ” λͺ¨λ“ˆλΏλ§Œ μ•„λ‹ˆλΌ μ½”μ–΄μ—μ„œλ„ μ‚¬μš©λ˜λŠ” 것 κ°™μŠ΅λ‹ˆλ‹€. 데λͺ¨: https://codesandbox.io/s/highcharts-vue-demo-5o9qu?file=/package.json

이것이 8.1.2μ—μ„œλ„ μ—¬μ „νžˆ λ¬Έμ œμΈμ§€ ν™•μΈν•˜μ‹­μ‹œμ˜€.

https://stackblitz.com/edit/angular-ivy-udtk3a?file=package.json

두 가지 μ‹œλ‚˜λ¦¬μ˜€μ—μ„œ μž¬ν˜„λ©λ‹ˆλ‹€.

  1. series.dataκ°€ λΉ„μ–΄ μžˆλŠ” 경우
  2. λ°μ΄ν„°μ˜ λͺ¨λ“  y좕이 0일 λ•Œ

μˆ˜μ • 사항이 λ‚˜μ˜¬ λ•ŒκΉŒμ§€ ν•΄κ²° 방법이 κΆκΈˆν•©λ‹ˆλ‹€. @pawelfus 의 repro 링크λ₯Ό μ‚¬μš©ν•˜κ³  highcharts 버전을 8.1.0 _appears_둜 μˆ˜μ •ν•˜μ—¬ 이 문제λ₯Ό ν•΄κ²°ν•˜μ„Έμš”. 이것이 ν˜„μž¬ μ œμ•ˆλœ ν•΄κ²° λ°©λ²•μž…λ‹ˆκΉŒ?

μˆ˜μ • 사항이 λ‚˜μ˜¬ λ•ŒκΉŒμ§€ ν•΄κ²° 방법이 κΆκΈˆν•©λ‹ˆλ‹€. @pawelfus 의 repro 링크λ₯Ό μ‚¬μš©ν•˜κ³  highcharts 버전을 8.1.0 _appears_둜 μˆ˜μ •ν•˜μ—¬ 이 문제λ₯Ό ν•΄κ²°ν•˜μ„Έμš”. 이것이 ν˜„μž¬ μ œμ•ˆλœ ν•΄κ²° λ°©λ²•μž…λ‹ˆκΉŒ?

우리의 경우 데이터 없이 차트λ₯Ό λ§Œλ“  λ‹€μŒ λ‚˜μ€‘μ— 데이터λ₯Ό μΆ”κ°€ν•˜μ—¬ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. 그것이 일어났을 λ•Œ, μš°λ¦¬λŠ” κ·Έ μ‹œμ μ— 이미 데이터λ₯Ό 가지고 μžˆμ—ˆκ³ , λ”°λΌμ„œ λ°μ΄ν„°λ‘œ 차트λ₯Ό 생성할 수 μžˆμ—ˆκ³ , λ”°λΌμ„œ 문제λ₯Ό ν”Όν•  수 μžˆμ—ˆμŠ΅λ‹ˆλ‹€. 그것이 λ‹Ήμ‹ μ„μœ„ν•œ μ˜΅μ…˜μ΄λΌλ©΄ μ‚΄νŽ΄λ³Ό κ°€μΉ˜κ°€ μžˆμŠ΅λ‹ˆλ‹€.

@kennyjwilli 8.1.0 이후 λ³€κ²½ 사항이 있으면 ν™œμš©ν•˜λ €λŠ” 경우 drawEmpty λ©”μ„œλ“œλ₯Ό λ‹€μŒκ³Ό 같이 λž˜ν•‘ν•  μˆ˜λ„ μžˆμŠ΅λ‹ˆλ‹€.

// Workaround for https://github.com/highcharts/highcharts/issues/13710
(function(H) {
  H.seriesTypes.pie.prototype.drawEmpty = function() {
    var centerX,
      centerY,
      start = this.startAngleRad,
      end = this.endAngleRad,
      options = this.options;
    // Draw auxiliary graph if there're no visible points.
    if (this.total === 0) {
      centerX = this.center[0];
      centerY = this.center[1];
      if (!this.graph) {
        this.graph = this.chart.renderer
          .arc(centerX, centerY, this.center[1] / 2, 0, start, end)
          .addClass("highcharts-empty-series")
          .add(this.group);
      }
      this.graph.attr({
        d: H.SVGRenderer.prototype.symbols.arc(
          centerX,
          centerY,
          this.center[2] / 2,
          0,
          {
            start: start,
            end: end,
            innerR: this.center[3] / 2
          }
        )
      });
      if (!this.chart.styledMode) {
        this.graph.attr({
          "stroke-width": options.borderWidth,
          fill: options.fillColor || "none",
          stroke: options.color || "#cccccc"
        });
      }
    } else if (this.graph) {
      // Destroy the graph object.
      this.graph = this.graph.destroy();
    }
  }
})(Highcharts);

codesandbox.io의 μž‘μ—… 예제

그렇지 μ•ŠμœΌλ©΄ μ§€κΈˆμ€ 8.1.0을 μ‚¬μš©ν•˜λŠ” 것이 μ’‹μŠ΅λ‹ˆλ‹€.

μˆ˜μ • #13770이 #13722λ₯Ό μ²˜λ¦¬ν•˜μ§€ μ•ŠλŠ” 것 κ°™μŠ΅λ‹ˆλ‹€.

#13722μ—μ„œ 문제λ₯Ό μž¬ν˜„ν•˜λŠ” 데λͺ¨λ₯Ό μ œκ³΅ν–ˆμŠ΅λ‹ˆλ‹€.
λ‹€μŒ 쀄은 이 문제의 μ›μΈμž…λ‹ˆλ‹€.
https://github.com/highcharts/highcharts/blob/c7e1976467a3b0e1620d44a414af2470716732b9/js/parts/ColumnSeries.js#L571

이것은 2.7.0μ—μ„œ μ—¬μ „νžˆ λ‚˜μ—κ²Œ μΌμ–΄λ‚˜κ³  μžˆμŠ΅λ‹ˆλ‹€.

https://stackblitz.com/edit/angular-ivy-2zlkmm

μ•ˆλ…•ν•˜μ„Έμš” @Crocsx - 이 μˆ˜μ • 사항은 λ¦΄λ¦¬μŠ€λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λ‹€μŒ λ¦΄λ¦¬μŠ€λŠ” λ‹€μŒ λ‹¬λ‘œ μ˜ˆμ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ§€κΈˆμ€ 여기에 κ²Œμ‹œλœ μž‘μ—…μ„ λ‹€μš΄κ·Έλ ˆμ΄λ“œν•˜κ±°λ‚˜ μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. https://github.com/highcharts/highcharts/issues/13710#issuecomment -650014654

μΆ”μ‹ : ν˜„μž¬ Highcharts 버전은 v8.1.2μž…λ‹ˆλ‹€.

μ•„ λ§žμ•„μš” μ£„μ†‘ν•©λ‹ˆλ‹€. highchart-angular μ—…λ°μ΄νŠΈμ™€ ν˜Όλ™ν–ˆμŠ΅λ‹ˆλ‹€. 이 highchartκ°€ μ—¬μ „νžˆ 8.1.2에 μžˆλŠ” 것을 보지 λͺ»ν–ˆμŠ΅λ‹ˆλ‹€. μ£„μ†‘ν•©λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @Crocsx - 이 μˆ˜μ • 사항은 λ¦΄λ¦¬μŠ€λ˜μ§€ μ•Šμ•˜μŠ΅λ‹ˆλ‹€. λ‹€μŒ λ¦΄λ¦¬μŠ€λŠ” λ‹€μŒ λ‹¬λ‘œ μ˜ˆμ •λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€. μ§€κΈˆμ€ λ‹€μš΄κ·Έλ ˆμ΄λ“œν•˜κ±°λ‚˜ 여기에 κ²Œμ‹œλœ workaorundλ₯Ό μ‚¬μš©ν•΄μ•Ό ν•©λ‹ˆλ‹€. #13710(λŒ“κΈ€)

μΆ”μ‹ : ν˜„μž¬ Highcharts 버전은 v8.1.2μž…λ‹ˆλ‹€.

@pawelfus λ‹€μŒ 릴리슀 λ‚ μ§œκ°€ μžˆμŠ΅λ‹ˆκΉŒ?

μš°λ¦¬λŠ” λ‹€μŒ μ£Ό @felipemfpλ₯Ό λͺ©ν‘œλ‘œ ν•©λ‹ˆλ‹€.

λΉ„μŠ·ν•œ λ¬Έμ œκ°€ λ°œμƒν–ˆμŠ΅λ‹ˆλ‹€. λ²”λ‘€λ₯Ό ν΄λ¦­ν•˜λ©΄ λ‹€λ₯Έ λ°μ΄ν„°λŠ” 0μž…λ‹ˆλ‹€.κ°μ‚¬ν•©λ‹ˆλ‹€!
"ν•˜μ΄μ°¨νŠΈ": "^8.2.0",

μ•ˆλ…•ν•˜μ„Έμš” @the-gc - v8.2.0μ—μ„œ 문제λ₯Ό μž¬ν˜„ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ‚΄νŽ΄λ³΄μ„Έμš”: https://jsfiddle.net/BlackLabel/ncpL97eq/ - λ‚΄ 데λͺ¨λ₯Ό μ—…λ°μ΄νŠΈν•  수 μžˆμŠ΅λ‹ˆκΉŒ? 감사 ν•΄μš”!

highcharts 8.2.0으둜 μ—…λ°μ΄νŠΈν•˜μ—¬ λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŒμ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

감사 ν•΄μš”!

μ—¬κΈ°μ—μ„œλ„ λ§ˆμ°¬κ°€μ§€λ‘œ 잘 μž‘λ™ν•©λ‹ˆλ‹€.

μ•ˆλ…•ν•˜μ„Έμš” @pawelfus - 였늘 ν”„λ‘œμ νŠΈκ°€ μž¬κ΅¬μΆ•λ˜μ—ˆκ³  λ¬Έμ œκ°€ ν•΄κ²°λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λŒ€λ‹¨νžˆ κ°μ‚¬ν•©λ‹ˆλ‹€!

ν™•μΈν•΄μ£Όμ…”μ„œ κ°μ‚¬ν•©λ‹ˆλ‹€!

λ‚΄ yarn.lock νŒŒμΌμ— μ—¬λŸ¬ λ²„μ „μ˜ ν•˜μ΄μ°¨νŠΈκ°€ μžˆμ—ˆκΈ° λ•Œλ¬Έμ— 이런 일이 λ‚˜μ—κ²Œλ„ μΌμ–΄λ‚¬μŠ΅λ‹ˆλ‹€. 8.2.0μ—μ„œ ν†΅ν•©λ˜λ©΄ 좩돌이 μ‚¬λΌμ‘ŒμŠ΅λ‹ˆλ‹€.

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