Witam, wszystkich!
Na podstawie przykładowych wykresów staram się stworzyć swój. Nie mogę sobie poradzić z jakimś błędem odnośnie wczytywania danych z pliku tekstowego.
Mój kod:
/* CAT:Area Chart */
/* pChart library inclusions */
include("../class/pData.class.php");
include("../class/pDraw.class.php");
include("../class/pImage.class.php");
/* Create and populate the pData object */
$MyData = new pData();
$nazwa_pliku = "xy.txt";
{
if ($plik = fopen($nazwa_pliku, "r")) {
$dane = file($nazwa_pliku); if ($dane === FALSE) echo "Odczyt danych z pliku nie powiódł się..."; else
for($i=0; $i<= 1000; $i++)
{
$MyData->addPoints($dane[$i],"Inbound");
}
} else echo "Nie mogę nawiązać połączenia z plikiem..."; } else echo "Z pliku nie można odczytać informacji lub nie istnieje...";
/* Create the pChart object */
$myPicture = new pImage(700,230,$MyData);
/* Turn of Antialiasing */
$myPicture->Antialias = FALSE;
/* Add a border to the picture */
$myPicture->drawRectangle(0
,0
,699
,229
,array("R"=>0,"G"=>0,"B"=>0
));
/* Write the chart title */
$myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11
)); $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE
));
/* Set the default font */
$myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6
));
/* Define the chart area */
$myPicture->setGraphArea(60,40,650,200);
/* Draw the scale */
$scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE
,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE
,"CycleBackground"=>TRUE
); $myPicture->drawScale($scaleSettings);
/* Write the chart legend */
$myPicture->drawLegend(540
,20
,array("Style"=>LEGEND_NOBORDER
,"Mode"=>LEGEND_HORIZONTAL
));
/* Turn on Antialiasing */
$myPicture->Antialias = TRUE;
/* Draw the area chart */
$myPicture->drawAreaChart();
/* Render the picture (choose the best way) */
$myPicture->autoOutput("pictures/example.drawAreaChart.simple.png");
a to oryginalny kod powyższego wykresu:
/* CAT:Area Chart */
/* pChart library inclusions */
include("../class/pData.class.php");
include("../class/pDraw.class.php");
include("../class/pImage.class.php");
/* Create and populate the pData object */
$MyData = new pData();
$MyData->addPoints(array(4,2,10,12,8,3),"Probe 1"); $MyData->addPoints(array(3,12,15,8,5,5),"Probe 2"); $MyData->addPoints(array(2,7,5,18,15,22),"Probe 3"); $MyData->setSerieTicks("Probe 2",4);
$MyData->setAxisName(0,"Temperatures");
$MyData->addPoints(array("Jan","Feb","Mar","Apr","May","Jun"),"Labels"); $MyData->setSerieDescription("Labels","Months");
$MyData->setAbscissa("Labels");
/* Create the pChart object */
$myPicture = new pImage(700,230,$MyData);
/* Turn of Antialiasing */
$myPicture->Antialias = FALSE;
/* Add a border to the picture */
$myPicture->drawRectangle(0
,0
,699
,229
,array("R"=>0,"G"=>0,"B"=>0
));
/* Write the chart title */
$myPicture->setFontProperties(array("FontName"=>"../fonts/Forgotte.ttf","FontSize"=>11
)); $myPicture->drawText(150,35,"Average temperature",array("FontSize"=>20,"Align"=>TEXT_ALIGN_BOTTOMMIDDLE
));
/* Set the default font */
$myPicture->setFontProperties(array("FontName"=>"../fonts/pf_arma_five.ttf","FontSize"=>6
));
/* Define the chart area */
$myPicture->setGraphArea(60,40,650,200);
/* Draw the scale */
$scaleSettings = array("XMargin"=>10,"YMargin"=>10,"Floating"=>TRUE
,"GridR"=>200,"GridG"=>200,"GridB"=>200,"DrawSubTicks"=>TRUE
,"CycleBackground"=>TRUE
); $myPicture->drawScale($scaleSettings);
/* Write the chart legend */
$myPicture->drawLegend(540
,20
,array("Style"=>LEGEND_NOBORDER
,"Mode"=>LEGEND_HORIZONTAL
));
/* Turn on Antialiasing */
$myPicture->Antialias = TRUE;
/* Draw the area chart */
$myPicture->drawAreaChart();
/* Render the picture (choose the best way) */
$myPicture->autoOutput("pictures/example.drawAreaChart.simple.png");
fragment zawartości pliku xy.txt wygląda tak:
Kod
-4.99
-4.98
-4.97
-4.96
-4.95
-4.94
-4.93
-4.92
-4.91
-4.9
-4.89
-4.88
-4.87
-4.86
-4.85
-4.84
-4.83
-4.82
-4.81
-4.8
-4.79
-4.78
-4.77
-4.76
-4.75
-4.74
-4.73
-4.72
-4.71
-4.7
-4.69
-4.68
-4.67
po odpaleniu skryput na stonie wyświetlony zostaje komunikat o tym że, obrek nie może być wyświetlony poniważ zawiera błąd. I tyle... pomożecie?