0
同じ画像で2つのチャートを生成するのに苦労しています。現時点で問題になっているのは、自分のアプローチを使用しているときに悪い結果が出るということです。出力画像からわかるように、最初のグラフには2つの縦軸があります。私は、2つ目のグラフにのみ2つの垂直軸が必要です。pchartを使用した1つの画像内の2つのチャート
私のコードが悪いとか、私のアプローチが悪いと思っています。どのようにpchartを使って同じ画像に2つのチャートを生成しますか?この問題は、同じ画像上に2つの垂直軸と複数のチャートが必要な場合にのみ発生します。
と私のコード:
<?php
include("../pchart/class/pData.class.php");
include("../pchart/class/pDraw.class.php");
include("../pchart/class/pImage.class.php");
$MyData = new pData();
$MyData->addPoints(array(-4,VOID,VOID,12,8,3),"probe1");
$MyData->addPoints(array(3,12,15,8,5,-5),"probe2");
$MyData->addPoints(array(2,7,5,18,19,22),"probe3");
$MyData->addPoints(array(14,12,10,8,9,12),"probe4");
$MyData->addPoints(array(3,4,5,7,6,4),"probe5");
$MyData->setAxisName(0,"Temperatures");
$MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels");
$MyData->setSerieDescription("Labels","Months");
$MyData->setAbscissa("Labels");
$MyData->setSerieOnAxis("probe4", 1);
$MyData->setAxisPosition(1,AXIS_POSITION_RIGHT);
$MyData->setSerieDrawable (array("probe4", "probe5"), FALSE);
$myPicture = new pImage(700,400,$MyData);
$myPicture->drawRectangle(0,0,699,399,array("R"=>0,"G"=>0,"B"=>0));
$myPicture->setFontProperties(array("FontName"=>"../pchart/fonts/Forgotte.ttf","FontSize"=>11));
$myPicture->drawText(250,55,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE));
$myPicture->setGraphArea(60,60,670,190);
$myPicture->drawFilledRectangle(60,60,670,190,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
$myPicture->drawScale(array("DrawSubTicks"=>TRUE));
$myPicture->drawLineChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
$MyData->setSerieDrawable (array("probe1", "probe2", "probe3"), FALSE);
$MyData->setSerieDrawable (array("probe4", "probe5"), TRUE);
$myPicture->setGraphArea(60,240,670,370);
$myPicture->drawFilledRectangle(60,240,670,370,array("R"=>255,"G"=>255,"B"=>255,"Surrounding"=>-200,"Alpha"=>10));
$myPicture->drawScale(array("DrawSubTicks"=>TRUE));
$myPicture->drawLineChart(array("DisplayValues"=>TRUE,"DisplayColor"=>DISPLAY_AUTO));
$myPicture->stroke();
?>