Menu

#22 removing and adding series mixes up indexes

open
nobody
None
5
2008-11-27
2008-11-27
Anonymous
No

<?php
/**
* error in limit graph ----------------------------
* limit graph always assumes first series to have
* index 0, but removing and adding a series
* increases the counter by 1. limit graph will then
* work with zeros instead of real data.
* thanks, sz-killua
*/

// Standard inclusions
include("pChart/pData.class");
include("pChart/pChart.class");

// Dataset definition
$DataSet = new pData;
$DataSet->AddPoint(array(1,4,2),"Serie1");
$DataSet->AddPoint(array(2,5,7),"Serie2");
$DataSet->AddAllSeries();
$DataSet->SetAbsciseLabelSerie();
$DataSet->SetSerieName("January","Serie1");
$DataSet->SetSerieName("February","Serie2");

// Following 4 lines demonstrate the bug
// Commenting them out makes things work fine.
$DataSet->RemoveSerie("Serie1");
$DataSet->RemoveSerie("Serie2");
$DataSet->AddSerie("Serie1");
$DataSet->AddSerie("Serie2");

// Initialise the graph
$Test = new pChart(700,230);
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->setGraphArea(50,30,585,200);
$Test->drawFilledRoundedRectangle(7,7,693,223,5,240,240,240); $Test->drawRoundedRectangle(5,5,695,225,5,230,230,230);
$Test->drawGraphArea(255,255,255,TRUE);
$Test->drawScale($DataSet->GetData(),$DataSet->GetDataDescription(),SCALE_NORMAL,150,150,150,TRUE,0,2, true);
$Test->drawGrid(4,TRUE,230,230,230,50);

// Draw the 0 line
$Test->setFontProperties("Fonts/tahoma.ttf",6);
$Test->drawTreshold(0,143,55,72,TRUE,TRUE);

// Draw the limit graph
$Test->drawLimitsGraph($DataSet->GetData(),$DataSet->GetDataDescription(),180,180,180);

// Finish the graph
$Test->setFontProperties("Fonts/tahoma.ttf",8);
$Test->drawLegend(600,30,$DataSet->GetDataDescription(),255,255,255);
$Test->setFontProperties("Fonts/tahoma.ttf",10);
$Test->drawTitle(50,22,"Example of error 1",50,50,50,585);
$Test->Stroke("error1.png");
?>

Discussion


Log in to post a comment.

MongoDB Logo MongoDB