2013-01-10 2 views
2

jpgraph에게 매월 x 축 눈금을 표시하도록하려면 어떻게해야합니까? 나는 두 개의 차트를 가지고 있는데, 하나는 1 년 동안의 결과를 보여주고 다른 하나는 처음부터 끝까지 결과를 보여줍니다. 해 그래프에서 매주 결과를 보여 주지만 더 큰 날짜 범위를 표시하는 경우 (1.4.2010부터 10.1.2013까지 제 경우에는 1.4.2010, 1.4에 진드기가 매 1 년마다 표시됩니다.jpgraph x 축 눈금

$graph->xaxis->SetTickLabels($timestamp); 
$graph->xaxis->scale->SetDateAlign(MONTHADJ_1); 
$graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8); 
$graph->xaxis->SetLabelAngle(-45); 
$graph->xaxis->SetLabelMargin(2); 
$graph->xaxis->SetLabelAlign('left','top'); 
$graph->xaxis->SetLabelFormatString('d.m.Y',true); 
$graph->xaxis->HideFirstLastLabel(); 

소인 어레이 MySQL의 날짜 변환 UNIX 타임 스탬프 값이며, 타임 스탬프가 올바른지 I 그들을 체크 : 0.2011은 ... 코드

중요한 부분은 어디에서 X 축 속성을 정의한다.. 또한 그래프 결과는 괜찮아요, 단지 x 축에 더 많은 눈금이 필요합니다.

+0

30 일 동안 계산 된 초를 갖는 "workaround"가 있으며 $ graph-> xaxis-> scale-> ticks-> Set (2592000)를 사용하지만 30 일이 더 많거나 적다면 같은 날을 보지 않습니다. x 축에서. –

+0

내 대답은 DataScaleUtils 라이브러리에서 발견되었습니다. 이제 다 괜찮아. –

답변

2

내 자신의 질문에 대답하고 닫으려면 여기에 내가 추가 한 것입니다 (오래된 xaxis p roperties) :

require_once ('jpgraph/jpgraph_utils.inc.php'); 

$dateUtils = new DateScaleUtils(); 
list($tickPos,$minTickPos) = $dateUtils->getTicks($timestamp,DSUTILS_MONTH1); 

$graph->xaxis->SetTickPositions($tickPos,$minTickPos); 
$graph->xaxis->SetFont(FF_ARIAL,FS_NORMAL,8); 
$graph->xaxis->SetLabelAngle(-45); 
$graph->xaxis->SetLabelMargin(2); 
$graph->xaxis->SetLabelAlign('left','top'); 
$graph->xaxis->SetLabelFormatString('d.m.Y',true); 
$graph->xaxis->HideFirstLastLabel(); 

그래프의 크기를 intlin으로 변경 한 것은 이전에 datlin이었습니다.