jpgraph x轴刻度

时间:2013-01-10 09:21:56

标签: php jpgraph

我怎么能告诉jpgraph每月显示x轴刻度?我有两个图表,一个显示1年的结果,另一个我显示从头到尾的结果。在年图上它显示每周结果,我喜欢它,但是在显示更大的日期范围的情况下(在我的情况下从1.4.2010。到2013年10月10日。它每隔一年显示一次,所以我在1.4.2010打勾,1.4 .2011,...

我定义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();

Timestamp数组是从mysql日期转换的unix时间戳值,时间戳是正确的。我检查了一下。也导致图形很好,只有我想在x轴上有更多的刻度。

1 个答案:

答案 0 :(得分:2)

要回答我自己的问题,然后关闭它,这就是我添加的内容(结合旧的xaxis属性):

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。