2016-08-24 4 views
0

저는 현재 하이 차트에서 차트를 만드는 중입니다. 여기서 차트는 주와 월별 데이터로 구성됩니다. 즉, 매월 4.3주의 플롯이 생깁니다. 내 질문은 3-4 개의 데이터 포인트 이후에 한 달에 한 번 씩 멈추지 않고 한 달에 한 번 데이터를 주 (일명 같은 시작점과 같은 끝점)와 비슷한 길이로 만드는 방법이 있습니까? 15 주 정도 지나면 주중에 멈 춥니 다.하이 차트, 서로 다른 크기의 데이터가있는 시리즈

현재는 다음과 같습니다 chart

이 주간 매일 /입니다 만, 월간/주간으로 변경됩니다. 같은 원리가 적용됩니다. :)

고마워요!

+0

http://www.highcharts.com/demo/spline-irregular-time에 따라 알아 내기 위해 관리 됨 – yusijs

+1

다른 사람들도 이와 비슷한 상황으로이 질문에 올 수 있으므로 업데이트 된 질문에 대답 해보십시오. 코드 및 문제 해결 방법을 알려줍니다. 다른 사람들은 귀하의 노력에 감사드립니다! –

+1

공정한 포인트는 오늘 나중에 답변을 추가 할 것입니다! :) – yusijs

답변

0

여기 내 목표는 일일 데이터와 함께 평균 주당 데이터를 나열하는 것이 었습니다. 내가 오랜 시간 동안 고심하는 동안, 해결책은 오히려 간단했습니다.

차트 옵션에서

, 내가 날짜 사용하는 데 필요한 :이 후

xAxis: { 
      type: 'datetime', 
      dateTimeLabelFormats: { 
      month: '%e. %b', 
      year: '%b' 
      } 
     } 

이 위치에를, 나는 나의 날짜를 포맷했다 (MySQL의 형식, 그래서 YYYY-MM-DD/YYYY-WW) . 나의 가장 큰 장애물은 여기에 내가 API 엔드 포인트를 제어 할 수 있기 때문에

, 나는 거기 날짜에 변경 사항을 수행 할 수있는 데이터가 데이터 포인트는 다르게하는 API 엔드 포인트 2)에서 1) 동적이었다 (일) 대 (주)이었다 클라이언트 측에서 성능 손실을 피하십시오. 데이터는 ms/s의 타임 스탬프에 있어야하며, 이렇게하려면 momentjs를 사용합니다. 아래의 예는 주이다 :이 후

let date = i.date.split('-'); 
    let utcDate = Date.UTC(date[0], date[1] - 1, date[2]) 

, 그것은 다시 클라이언트로 데이터를 보내는 등 (노트 나처럼 그 위에 루프의 문제였다

let d = moment(i.date, 'YYYY-WW').format('YYYY-MM-DD') 
let dateFormat = new Date(d); 
let date = moment(d).day(parseInt(goToDay)).format('YYYY-MM-DD').split('-') 
let utcDate = Date.UTC(parseInt(date[0]), parseInt(date[1]) - 1, parseInt(date[2])) 

일이 쉽게이었다 /) 약간 다른 것 각도 승을 highcharts에 대한 각도, 절차를 사용 해요 :

$scope.ChartConfig.series = []; 
$scope.ChartConfig.series.push({ 
    name: 'Daily', 
    title: 'Daily', 
    data: data.daily.data 
}) 
$scope.ChartConfig.series.push({ 
    name: 'Weekly', 
    title: 'Weekly', 
    data: data.weekly.data 
}); 

이 완벽하게 차트를 렌더링하고, 다만 방법 난에 원하는 : justthewayIwantit

관련 문제