2011-10-28 4 views
1

나는 y 축에 시간을 표시하는 차트를 만들었습니다. 하지만 이제는 시간을 10 진수로 변환해야합니다.jQuery flot에서 y 축의 시간 표시

2시 반 것 2.5

As it is looking now

난 당신이 시간 모드로 y 축 설정할 수 있다는 것을 알고 있지만, 나는 그것이 동작하지 않습니다 :

 yaxis: { 
      mode: "time", 
      timeformat: "%H:%M" 

     }, 

을하지만 어떻게해야 나는 jQuery Plot에 시간을 배달한다. "1:40"은 작동하지 않는다.

분 대신 단 몇 시간 만에이 방법을 사용하고 싶다.

Analytics example

내가 제대로 설명하지 않는 도움말과의 jQuery API에 대한 인터넷 검색이 : http://flot.googlecode.com/svn/trunk/API.txt

는 당신의 도움을 주셔서 감사합니다!

답변

1

당신이하고 싶은 것은 축 틱 포맷터를 사용하여 위조했습니다. '시간'모드는 '날짜'모드와 같이 실제로 호출해야합니다. 날짜가 아닌 시간이기 때문입니다. 시간은 정말로 부수적 인 일입니다. 이미 소수로 시간을 변환하는 작업을하고 있다면 그래서, 당신이 원하는 형식으로 다시 변환하는 자바 스크립트 함수를 사용

function timeTickFormatter(val,axis) { 
    var hours = Math.floor(val); 
    var minutes = (val - hours) * 60; 

    return hours+":"+minutes; 
} 

분명히 모든 순열을 포함하지 않습니다 (즉, 당신이 원한다면 앞에 0을 붙인다.)하지만 그것은 그 아이디어 다. 이것을 플로트에 넣는 방법을 모른다면 플롯 옵션에서 다음과 같이됩니다 :

$.plot(placeholder, data, { 
    .., 
    yaxis: { 
    .., 
    tickFormatter:timeTickFormatter, 
    .. 
    } 
}); 
관련 문제