Generating SVG from PHP is quite cool if you want my opinion. I am working on generating complete and configurable web statistics reports. I jsut throw the first bits in yesterday, and here is the first result:

This is generated with the subsequent API calls:
$tp = new TimePlot('title', new Rect(0, 0, 700, 700));
$tp->addReportFile('Search Phrases_2005-01-01_2005-01-31.CSV');
$tp->addReportFile('Search Phrases_2005-02-01_2005-02-28.CSV');
$tp->addReportFile('Search Phrases_2005-03-01_2005-03-31.CSV');
$tp->addReportFile('Search Phrases_2005-04-01_2005-04-30.CSV');
$tp->addReportFile('Search Phrases_2005-05-01_2005-05-31.CSV');
$tp->addReportFile('Search Phrases_2005-06-01_2005-06-30.CSV');
$tp->addReportFile('Search Phrases_2005-07-01_2005-07-31.CSV');
$tp->addReportFile('Search Phrases_2005-08-01_2005-08-31.CSV');
$tp->addReportFile('Search Phrases_2005-09-01_2005-09-30.CSV');
$tp->addTrace('DO certification', '/([D|d])([O|o])( )*(-)*( )*[178|254]/');
$tp->addTrace('IEC certification', '/([I|i][E|e][C|c])/');
$tp->addTrace('Jobs', '/([j|J][o|O][b|B])/');
$tp->addTrace('SCADE', '/([s|S][c|C][A|a][d|D][e|E])/');
$tp->addTrace('Esterel', '/([e|E][s|S][t|T][e|E][R|r][E|e][L|l])/');
$tp->addTrace('All', '/(.*)/');
echo $tp->asSvg();
CSV files are generated by my current statistics tool, but I plan to plug this code directly in phpMyVisites
Of course, there is still a lot to do...