2013-04-21 3 views
2

Flot을 사용하여 작은 차트를 만들고 그 중 일부는 플러그인입니다. 그 목적은 기본 체온을 추적하는 차트를 제공하는 것입니다. 하루 중 날짜는 x 축, 각도는 y 축입니다. 이동은 x 축을 이동시켜 이전 날짜 등을 볼 수 있습니다. 클릭하면 새로운 지점이 생기고 그리드에 스냅됩니다.jQuery Flot 시간 기반 축 이동 문제

패닝이 이동하지 않는 시간 축의 격자입니다. 축 유형을 정상으로 변경하면됩니다. 그리드 전체에 라인 시리즈가 떠 다니기 때문에 전체 그리드를 움직이고 싶습니다. 누구든지 그 일을하는 법을 압니까? 옵션에 뭔가 빠졌습니까?

는, 볼 수 있도록 fsfiddle 제공하는 것보다이 설명하기 어렵습니다 : http://jsfiddle.net/jorgthuijls/caM3q/1/

행동의 변화를 트리거 x 축 옵션 (바이올린 라인 24)에 옵션 mode: 'time'된다.

 xaxis: { 
      show: true, 
      min: firstDay, 
      max: lastDay, 
      ticks: 31, 
     }, 

 xaxis: { 
      show: true, 
      min: firstDay, 
      max: lastDay, 
      ticks: 31, 
      mode: 'time', 
      timezone: 'browser', 
      timeformat: '%d. %m' 
     }, 

변경이 몇 점을 추가 한 후 그래프를 이동 어떻게되는지 : 코드의

비트는주의를 기울여야합니다.

많은 감사를드립니다!

답변

1

그것은 두 가지의 조합이다 :

  1. 당신이 마스터에서 jquery.flot.time.js으로 시도하는 경우, 즉시 개선을 알 수 있도록 우리가, 고정 0.8.0의 버그가 발생했습니다.

  2. 픽스가있는 경우에도 틱은 여전히 ​​조금씩 돌아갑니다. 이것은 틱이 ~ 3 일마다 만 나타나는 충분한 범위를 가지고 있기 때문입니다. 그러나 내부적으로 틱 생성기는 여전히 최소 간격으로 하루를 봅니다. 따라서 그것은 틱 간격의 3 분의 1 크기 일지라도 하루를 두 드리 자마자 다시 계산됩니다.

일반적으로 적절하게 높은 minTickSize를 할당하여이 문제를 해결할 수 있습니다. 예를 들어 틱 생성기에 다시 계산할 필요가 없음을 알리려면 [5, 'day']을 입력하십시오. 이것은 미리 플롯의 크기를 알고있을 때 가장 효과적입니다.

+0

고마워요! 그것은 스크롤 그리드 문제를 분류 한 것 같습니다. 한 달을 전체, 그래서 약 30 개의 눈금 선을 매일 표시하는 것이 나의 의도입니다. 그것은'minTickSize : [1, 'day']'일까요? 최대 진드기 수를 30으로 설정했습니다. – Jorg

+0

minTickSize Flot은 일반적으로 더 큰 간격을 선택합니다. 대신에'tickSize : [1, "day"]'를 사용하면 원하는 것에 더 가깝게됩니다. 30 틱이 얼마나 많은 공간을 차지하는지 이해해야합니다. 너비가 400 픽셀 일 때 편안하게 맞출 수있는 최대 값은 8-10입니다. 30을 맞추려면 너비가 적어도 1200이되어야합니다. – DNS

+0

예, 이미 1200을 골랐습니다. 꽤 좋습니다. 나는 작은 프레임에 더 잘 맞도록 바이올린을 조정했다. 그게 큰 것으로 판명되면 2 주 정도에 내릴 수 있습니다. 당신의 도움을 주셔서 감사합니다! – Jorg