include "../Class/FusionCharts_Gen.php"; # Create Column2D chart Object $FC = new FusionCharts("column2D", "300", "250"); # set the relative path of the swf file $FC->setSWFPath("../FusionCharts/"); # Define chart attributes $strParam = "caption=Weekly Sales;xAxisName=Week;yAxisName=Revenue;numberPrefix=\$"; # Set chart attributes $FC->setChartParams($strParam); # add chart values and category names $FC->addChartData("40800", "label=Week 1"); $FC->addChartData("31400", "label=Week 2"); $FC->addChartData("26700", "label=Week 3"); $FC->addChartData("54400", "label=Week 4"); # Add First TrendLine $FC->addTrendLine("startValue=42000;color=ff0000"); # Add Second TrendLine $FC->addTrendLine("startValue=30000;color=008800;displayvalue=Average;showOnTop=1"); # Add TrendZone $FC->addTrendLine("startValue=50000;endValue=60000;color=0000ff;alpha=20;displayvalue=Dream Sales;showOnTop=1;isTrendZone=1"); ?> <html> <head> <title>First Chart - Advanced - Add Trendlines : Using FusionCharts PHP Class</title> <script language='javascript' src='../FusionCharts/FusionCharts.js'></script> </head> <body> <?php # Render Chart $FC->renderChart();
function fs_gantt_chart($title, $from, $to, $tasks, $milestones, $width, $height) { // Generate the XML $chart = new FusionCharts("Gantt", $width, $height, "1", "0"); $chart->setSWFPath("include/graphs/FusionCharts/"); $chart->setChartParams('dateFormat=dd/mm/yyyy;hoverCapBorderColor=2222ff;hoverCapBgColor=e1f5ff;ganttLineAlpha=80;canvasBorderColor=024455;canvasBorderThickness=0;gridBorderColor=2179b1;gridBorderAlpha=20;ganttWidthPercent=80'); $chart->setGanttProcessesParams('headerText=' . __('Task') . ';fontColor=ffffff;fontSize=9;isBold=1;isAnimated=1;bgColor=2179b1;headerbgColor=2179b1;headerFontColor=ffffff;headerFontSize=12;align=left'); $chart->setGanttTasksParams(''); $start_date = explode('/', $from); $start_day = $start_date[0]; $start_month = $start_date[1]; $start_year = $start_date[2]; $end_date = explode('/', $to); $end_day = $end_date[0]; $end_month = $end_date[1]; $end_year = $end_date[2]; $time_span = date_to_epoch($to) - date_to_epoch($from); // Years $chart->addGanttCategorySet('bgColor=2179b1;fontColor=ff0000'); for ($i = $start_year; $i <= $end_year; $i++) { if ($i == $start_year) { $start = sprintf('%02d/%02d/%04d', $start_day, $start_month, $start_year); } else { $start = sprintf('%02d/%02d/%04d', 1, 1, $i); } if ($i == $end_year) { $end = sprintf('%02d/%02d/%04d', $end_day, $end_month, $end_year); } else { $end = sprintf('%02d/%02d/%04d', cal_days_in_month(CAL_GREGORIAN, 12, $i), 12, $i); } $chart->addGanttCategory($i, ';start=' . $start . ';end=' . $end . ';align=center;fontColor=ffffff;isBold=1;fontSize=16'); } // Months $chart->addGanttCategorySet('bgColor=ffffff;fontColor=1288dd;fontSize=10'); for ($i = $start_year; $i <= $end_year; $i++) { for ($j = 1; $j <= 12; $j++) { if ($i == $start_year && $j < $start_month) { continue; } else { if ($i == $end_year && $j > $end_month) { break; } } if ($i == $start_year && $j == $start_month) { $start = sprintf('%02d/%02d/%04d', $start_day, $start_month, $start_year); } else { $start = sprintf('%02d/%02d/%04d', 1, $j, $i); } if ($i == $end_year && $j == $end_month) { $end = sprintf('%02d/%02d/%04d', $end_day, $end_month, $end_year); } else { $end = sprintf('%02d/%02d/%04d', cal_days_in_month(CAL_GREGORIAN, $j, $i), $j, $i); } $chart->addGanttCategory(date('F', mktime(0, 0, 0, $j, 1)), ';start=' . $start . ';end=' . $end . ';align=center;isBold=1'); } } // Days if ($time_span < 2592000) { $chart->addGanttCategorySet(); for ($i = $start_year; $i <= $end_year; $i++) { for ($j = 1; $j <= 12; $j++) { if ($i == $start_year && $j < $start_month) { continue; } else { if ($i == $end_year && $j > $end_month) { break; } } $num_days = cal_days_in_month(CAL_GREGORIAN, $j, $i); for ($k = 1; $k <= $num_days; $k++) { if ($i == $start_year && $j == $start_month && $k < $start_day) { continue; } else { if ($i == $end_year && $j == $end_month && $k > $end_day) { break; } } $start = sprintf('%02d/%02d/%04d', $k, $j, $i); $end = sprintf('%02d/%02d/%04d', $k, $j, $i); $chart->addGanttCategory($k, ';start=' . $start . ';end=' . $end . ';fontSize=8;isBold=0'); } } } } else { if ($time_span < 10368000) { $chart->addGanttCategorySet(); for ($i = $start_year; $i <= $end_year; $i++) { for ($j = 1; $j <= 12; $j++) { if ($i == $start_year && $j < $start_month) { continue; } else { if ($i == $end_year && $j > $end_month) { break; } } $num_days = cal_days_in_month(CAL_GREGORIAN, $j, $i); for ($k = 1, $l = 1; $k <= $num_days; $k += 8, $l++) { if ($i == $start_year && $j == $start_month && $k + 7 < $start_day) { continue; } if ($i == $end_year && $j == $end_month && $k > $end_day) { break; } if ($i == $start_year && $j == $start_month && $k < $start_day) { $start = sprintf('%02d/%02d/%04d', $start_day, $j, $i); } else { $start = sprintf('%02d/%02d/%04d', $k, $j, $i); } if ($i == $end_year && $j == $end_month && $k + 7 > $end_day) { $end = sprintf('%02d/%02d/%04d', $end_day, $j, $i); } else { if ($k + 7 > $num_days) { $end = sprintf('%02d/%02d/%04d', $num_days, $j, $i); } else { $end = sprintf('%02d/%02d/%04d', $k + 7, $j, $i); } } $chart->addGanttCategory(__('Week') . " {$l}", ';start=' . $start . ';end=' . $end . ';fontSize=8;isBold=0'); } } } } } // Tasks foreach ($tasks as $task) { $chart->addGanttProcess(clean_flash_string($task['name']), 'id=' . $task['id'] . ';link=' . urlencode($task['link'])); $chart->addGanttTask(__('Planned'), 'start=' . $task['start'] . ';end=' . $task['end'] . ';id=' . $task['id'] . ';processId=' . $task['id'] . ';color=4b3cff;height=5;topPadding=10;animation=0'); if ($task['real_start'] !== false && $task['real_end']) { $chart->addGanttTask(__('Actual'), 'start=' . $task['real_start'] . ';end=' . $task['real_end'] . ';processId=' . $task['id'] . ';color=ff3c4b;alpha=100;topPadding=15;height=5'); } if ($task['completion'] != 0) { $task_span = date_to_epoch($task['end']) - date_to_epoch($task['start']); $end = date('d/m/Y', date_to_epoch($task['start']) + $task_span * $task['completion'] / 100.0); $chart->addGanttTask(__('Completion') . " (" . $task['completion'] . ")", 'start=' . $task['start'] . ';end=' . $end . ';processId=' . $task['id'] . ';color=32cd32;alpha=100;topPadding=20;height=5'); } if ($task['parent'] != 0) { $chart->addGanttConnector($task['parent'], $task['id'], 'color=2179b1;thickness=2;fromTaskConnectStart=1'); } } // Milestones if ($milestones !== '') { $chart->addGanttProcess(__('Milestones'), 'id=0'); foreach ($milestones as $milestone) { $chart->addGanttTask(clean_flash_string($milestone['name']), 'start=' . $milestone['date'] . ';end=' . $milestone['date'] . ';id=ms-' . $milestone['id'] . ';processId=0;color=ffffff;alpha=0;height=60;topPadding=0;animation=0'); $chart->addGanttMilestone('ms-' . $milestone['id'], 'date=' . $milestone['date'] . ';radius=8;color=efbb07;shape=star;numSides=3;borderThickness=1'); } } // Today $chart->addTrendLine('start=' . date('d/m/Y') . ';displayValue=' . __('Today') . ';color=666666;isTrendZone=1;alpha=20'); // Return the code return get_chart_code($chart, $width, $height, 'include/graphs/FusionCharts/FCF_Gantt.swf'); }
$FC->setSWFPath("../FusionCharts/"); # Set colon (:) as delimiter $FC->setParamDelimiter(":"); # Define chart attributes $strParam = "caption=Weekly Sales:xAxisName=Week:yAxisName=Revenue:numberPrefix=\$"; # Set chart attributes $FC->setChartParams($strParam); # add chart values and category names $FC->addChartData("40800", "label=Week 1:alpha=80"); $FC->addChartData("31400", "label=Week 2:alpha=60"); $FC->addChartData("26700", "label=Week 3"); $FC->addChartData("54400", "label=Week 4"); # Set hash (#) as delimiter $FC->setParamDelimiter("#"); # Add TrendLine $FC->addTrendLine("startValue=42000#color=ff0000#displayvalue=Target#showOnTop=1"); # Set semicolon (;) as delimiter $FC->setParamDelimiter(";"); # Add TrendLine $FC->addTrendLine("startValue=30000;color=008800;displayvalue=Average;showOnTop=1"); ?> <html> <head> <title>First Chart - Set Delimiter : Using FusionCharts PHP Class</title> <script language='javascript' src='../FusionCharts/FusionCharts.js'></script> </head> <body> <?php # Render Chart $FC->renderChart();
$FC->addChartData("20", "y=72000;z=8"); $FC->addChartData("43", "y=42000;z=5"); $FC->addChartData("70", "y=90000;z=2"); $FC->addChartData("90", "y=75000;z=4"); # Add another dataset $FC->addDataSet("Current Month"); # Add chart data for the above dataset # where 1st parameter for X axis value # 2nd parameter take Y and Z axis as parameter list # e.g y=12200;z=10 $FC->addChartData("18", "y=22000;z=3"); $FC->addChartData("35", "y=62000;z=5"); $FC->addChartData("50", "y=55000;z=10"); $FC->addChartData("70", "y=25000;z=3"); # Add TrendLine $FC->addTrendLine("startValue=50000;endValue=50000;color=00FF00;displayvalue=First Target;dashed=1"); # Add vTrendLine $FC->addvTrendLine("startValue=0;endValue=39.99;color=888800;displayvalue=Low Sales;alpha=20"); ?> <html> <head> <title>Bubble Chart : Using FusionCharts PHP Class</title> <script language='javascript' src='../FusionCharts/FusionCharts.js'></script> </head> <body> <?php # Render Chart $FC->renderChart(); ?>