2

jpgraphに毎月x軸の目盛りを表示するように指示するにはどうすればよいですか?私は2つのチャートを持っています。1つは1年の結果を示し、もう1つは最初から最後までの結果を示しています。年のグラフでは、週ごとの結果が表示され、気に入っていますが、日付範囲が広い場合(私の場合、2010年1月4日から2013年10月10日まで。1年ごとにのみ目盛りが表示されるため、2010年1月4日、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();

タイムスタンプ配列は、mysqlの日付から変換されたUNIXタイムスタンプ値であり、タイムスタンプは正しいものです。確認しました。また、グラフの結果は良好ですが、x軸にもっと目盛りが必要なだけです。

4

1 に答える 1

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でした。

于 2013-01-10T13:43:53.317 に答える