2016-10-31 4 views
0

하이 차트에 날짜/시간 시리즈 차트를 구현하려고합니다. 나는 UNIX 타임 스탬프를 제공 한 그리고 데이터의 8 시간 동안이 같은 데이터을 나타내는 : 당신이 볼 수 있듯이하이 차트의 X 축에서 날짜/시간 형식 설정

enter image description here

, 나는이 차트의 날짜를 알 수 없다. 첫 번째 지점 ('% e. % b')에 날짜를 표시하고 싶습니다. 나는 다음과 같은 포맷을 사용하여 시도

 xAxis: { 
     type: 'datetime', 
     crosshair: true, 
     gridLineWidth: 0 
     } 

을하지만 수행합니다

enter image description here

이 지금 내 구현 : 지금 날이 변경 될 때 자동으로 24시간이 같은 날짜를 표시 첫 번째 점을 제외하고는 날짜를 전혀 표시하지 않습니다.

 xAxis: { 
     type: 'datetime', 
     labels: { 
      formatter: function() { 
      if (this.isFirst) { 
       return Highcharts.dateFormat('%e. %b', this.value); 
      } 
      return Highcharts.dateFormat('%H:%M', this.value); 
      } 
     }, 
     crosshair: true, 
     gridLineWidth: 0 
     } 

처음에 점포 포맷 기능을 작성하려고합니다. 자정에 날짜와 다른 모든 시간을 표시하면 시간이 HH : mm로 표시됩니까? 당신은 당신의 축 레이블의 데이터 값의 시간을 확인 getHours()을 사용할 수 있습니다

+0

는 * "가 표시 HH로 표시된 시간 : mm "* Highcharts.dateFormat ('% H : % M', this.value); '실제 문제/질문이 무엇인지 명확하게 알 수 없습니다. . – jlbriggs

+0

@jlbriggs 명확하지 않은 점에 대해 사과드립니다. 데이터를 % e로 표시하는 값을 표시하려고합니다. 자정 무렵에 % b. 기본 포맷터와 비슷한 값입니다. – SpaceX

답변

1

, 그에 따라 형식 :

labels: { 
    formatter: function() { 
     if (this.isFirst) { 
     return Highcharts.dateFormat('%e. %b', this.value); 
     } 
     else { 
     var t = new Date(this.value); 
     var h = t.getHours(); 
     return h == 0 
      ? Highcharts.dateFormat('%e. %b', this.value) 
      : Highcharts.dateFormat('%H:%M', this.value); 
     } 

    } 
    } 

바이올린 :

+0

선생님, 고맙습니다. :) – SpaceX