Here is a list of the functions in FusionCharts_Gen PHP Class. These functions create the required XML output based on the parameters passed through and make the chart rendering process easier for you.

FusionCharts PHP class functions can be divided under various heads, as shown in the list below:

 
Constructor
 
FusionCharts(string $chartType, string $width, string $height[,string $chartID])
 

Instantiates chart object. Use the constructor to specify chart type and chart width & chart height.

 
Parameters:
  • $chartType = type of the chart. To get the list of supported Chart Types please click here.
  • $width = numeric value for chart width in pixels.
  • $height = numeric value for chart height in pixels.
  • $chartID = (Optional) unique id for the chart. Required if chart is needed to update using Javascript functions.
 

Example:

$FC= new FusionCharts("Column3D, "350", "250");

 

Public Functions

 
General Functions
 
setParamDelimiter(string $strDelm)
 
Sets the delimiter for lists of chart attributes which are passed to function like setChartParams, addDataset, addChartData etc. Delimiter is the character used to separate consecutive attributes for various chart elements. Default delimiter is semicolon (;).
 
Parameter:
  • $strDelm = delimiter character. The character becomes reserved and can not be as normal character in chart attributes.
 
Note: You can use this functions any number of times in a single code block for a chart. By defining a new delimiter one can use the earlier delimiter as a regular character in chart attributes.
 

Example :

$FC->setParamDelimiter("|");
$FC->setChartParams("caption=Monthly Report|subCaption=June;July;September|bgColor=efefdd");
$FC->setParamDelimiter("\n");
$FC->
addDataset("June", "color=009900\nshowValues=0);

 
setSWFPath(string $SWFPath)
 
Sets the path of the chart SWF file. Users may need to specify the relative file path of the SWF files while using them in different applications. This function allows users to set the path. The default path for SWF file is set to the application folder itself.
 
Parameter:
  • $SWFPath = relative SWF file path of FusionCharts SWF file in string format
 

Example :

$FC->setSWFPath("FusionCharts/");

 
setChartParam(string $paramName, string $paramValue)
 
Sets a single chart attribute at a time. Attributes listed under <graph> element section in Chart XML Reference can be used here.
 
Parameters:
  • $paramName = name of the chart attribute.
  • $paramValue = value of the chart attribute.
 

Example:

$FC->setChartParam("caption","Monthly Sales");

 
setChartParams(string $strParams)
 
Sets multiple chart attributes in one function call. Multiple attributes from <graph> element section of Chart XML Reference can be passed through this function.
 
Parameter:
  • $strParams = delimiter separated list of attributes in string format. Note that the attribute values must not be enclosed in single or double quotes.
 

Example:

$FC->setChartParams("caption=Factory Sales;subCaption=Year 2007;bgColor=ffccff");

 
setCategoriesParams(string $catParams)
 
Sets category set's attributes in Multi-Series charts. Attributes mentioned under the <categories> element in Chart XML Reference section can be set through this function.
 
Parameter:
  • $catParams = delimiter separated list of chart attributes for chart categories. Note that the attribute values must not be enclosed in single or double quotes.
 

Example:

$FC->setCategoriesParams("font=Arial;fontColor=ff0000");

 
addCategory(string $label[, string $catParams])
 
Adds a single category information at a time.
 
Parameters:
  • $label = category name
  • $catParams = (Optional) attributes of the category in string format. Attributes mentioned under the <category> element in Chart XML Reference section can be set through this. Note that the attribute values must not be enclosed in single or double quotes.
 

Example:

$FC->addCategory("Week 1");
$FC->addCategory("Week 2 ", "hoverText=Sales data for Second Week;ShowName=0");

 
addDataset(string $seriesName[, string $datasetParams])
 

Adds a dataset to multi-series chart.

 
Parameters:
  • $seriesName = series name of the dataset.
  • $datasetParams = (Optional) delimiter separated attribute list of the series in string format. Attributes listed under <dataset> elements in the Chart XML Reference section can be passed through this. Note that the attribute values must not be enclosed in single or double quotes.
 
Note: Remember to add data values pertaining to the dataset immediately after using this function.
 
Example:

$FC->addDataset("This Month");
$FC->addChartData("40800");
$FC->addChartData("31400");

$FC->addDataset("Previous Month");
$FC->addChartData("38300");


Data values '40800' and '31400' will be assigned to the dataset "This Month" and the data value '38300' will be assigned to the dataset "Previous Month".
 
addChartData(string $value[, string $params])
 
Provides chart data. For single series charts $params must be passed having atleast an attrubite "name=foo". For multiseries, stacked and combination charts $params is optional.
 
Parameters:
  • $value = data value to be plotted over the chart.
  • $params = (Optional) list of dataplot attributes. Attributes listed under <set> elements in the Chart XML Reference section can be passed through this. Note that the attribute values must not be enclosed in single or double quotes.
 

Example:

For Single-Series Charts :

$FC->addChartData("40800","name="Week 1");
$FC->addChartData("31400","name="Week 2;color=ff0000;link=http://www.FusionCharts.com");

For Multi-Series Charts:

$FC->addChartData("40800");
$FC->addChartData("31400","link=http://www.FusionCharts.com;");

 
addTrendLine(string $tlineParams)
 
Adds a trendline in the chart. All attributes for the <line> element of <trendlines> element like startValue, endValue, color, displayValue, isTrendZone, showOnTop etc. are passed here.
 
Parameter:
  • $tlineParams = delimiter separated attributes for trend line. Attributes mentioned under the <line> element for <trendlines> element in Chart XML Reference section can be set through this. Note that the attribute values must not be enclosed in single or double quotes.
 
Example :

$FC->addTrendLine("startValue=89.5;endValue=98;color=FF0000;displayvalue=Roll. Avg.; thickness=2;alpha=100;isTrendZone=0;showOnTop=1");
 
setChartMessage(string $msgParam)
 
Sets various chart messages. For more on chart messages please see the page: Changing chart messages
 
Parameter:
  • $msgParam = chart messages attributes separated by delimiters. Messages attributes specified in Changing chart messages are used here. Note that the attribute values must not be enclosed in single or double quotes.
 

Example :

$FC->setChartMessage("ChartNoDataText=Chart Data not provided;PBarLoadingText=Please Wait.The chart is loading...");

 
Array Handling
 
addChartDataFromArray(array $dataArray[, array $dataCatArray])
 
Adds chart data from array(s). We can use this function for both Single Series and Multi Series charts; however, the structure of the $dataArray should be different for single and multi-series charts. Also, the second parameter $dataCatArray is required only for Multi Series or Combination Charts.
 
Parameters:

$dataArray (required for both Single Series and Multi Series/Stacked/Combination charts)

For Single Series charts a 2 dimnestional array (n rows x 2 columns):

  1. First Column stores Category Names.
  2. Second Column stores data values.

For MultiSeries/Stacked/Combination charts:

  1. First Column stores Dataset Names.
  2. Second Column stores Dataset Attributes (compulsory for combination chart)
  3. Rest of the columns store data values for the dataset

$dataCatArray (required only for Multi Series/Stacked/Combination charts)

  1. Category names stored in a single dimensional array.
 

Example:

Single Series Chart:

$arrData[0][0]="Week 1";
$arrData[1][0]="Week 2";
$arrData[2][0]="Week 3";
$arrData[3][0]="Week 4";

$arrData[0][1]="100";
$arrData[1][1]="200";
$arrData[2][1]="300";
$arrData[3][1]="400";


$FC->addChartDataFromArray($arrData);

 
Multi-Series/Stacked/Combination Charts:


//Store Name of Products
$arrCatNames[0] = "Week 1";
$arrCatNames[1] = "Week 2";
$arrCatNames[2] = "Week 3";
$arrCatNames[3] = "Week 4";

//Store sales data for current month
$arrData[0][0] = "Current Month";
$arrData[0][1] = "color=ff0000";
// Dataset Parameters
$arrData[0][2] = 567500;
$arrData[0][3] = 815300;
$arrData[0][4] = 556800;
$arrData[0][5] = 734500;

//Store sales data for previous month
$arrData[1][0] = "Previous Month";
$arrData[1][1] = "color=0000ff";
// Dataset Parameter

$arrData[1][2] = 547300;
$arrData[1][3] = 584500;
$arrData[1][4] = 754000;
$arrData[1][5] = 456300;

$FC->addChartDataFromArray($arrData,$arrCatNames);
 
For detailed examples on FusionCharts PHP Class' Array Handling function please go through the section Using with PHP Class
 
Database Handling
 
addCategoryFromDatabase(resource $query_result, string $categoryColumn)
 
Creates the set of chart Category Names from database for database driven multi-series charts.
 
Parameters:
  • $query_result = the SQL query result as resource.
  • $categoryColumn = database field name for category names.
 

Example:

$strQuery = "select distinct weekNames from Sales";
$result = mysql_query($strQuery);
$FC->addCategoryFromDatabase($result, "weekNames");

 
For detailed examples on FusionCharts PHP Class' Database Handling functions please go through the section Using with PHP Class
 
addDatasetsFromDatabase(resource $query_result, string $ctrlField, string $valueField[, array $datasetParamArray, string $link])
 
Adds datasets with data values for each dataset (only for multiseries/stacked/combination charts) from database.
 
Parameters:
  • $query_result = SQL query result to fetch dataset from database.
  • $ctrlField = Control Break field. The database field that contains all series names in sorted order; the function uses this parameter to pick series names for multiple datasets.
  • $valueField = the field that contains the dataset values.
  • $datasetParamArray = (Optional) an array that stores delimiter separated list of attributes for each dataset.
  • $link = (Optional) Adds hyperlink feature to dataplots. This adds the link attribute to dataplots or <set> elements.It can be a simple URL say, "http://www.google.com" or another page say, "Drill/Detailed.php" etc. For details on drill down and creating links using FusionCharts, please go through the section Drill Down Charts.

    This parameter has a link place holder format that helps creating dynamic links. Anything placed between ## and ##
    (for example, . FactoryID in "Detailed.php?FId=##FactoryID##") will be regarded as a field/column name in the SQL query result. Value from that column will dynamically replcae that place holder. Hence, for each dataplot in the chart the link values will be different.

    For detailed exmaple on this feature, please refer to Creating Drilldown charts in "Using With PHP Class" section.
 
Note: The control Break field must be sorted.
 

Example:

$strQuery = "select weekNames,revenue from Sales order by weekNames";
$result = mysql_query($strQuery);
$FC->addDatasetsFromDatabase($result, "weekNames", "revenue");

 
For detailed examples on FusionCharts PHP Class' Database Handling functions please go through the section Using with PHP Class
 
addDataFromDatabase(resource $query_result, string $db_field_ChartData[, string $db_field_CategoryNames, string $strParam, string $link])
 
Adds chart data and category names from database. This function is specially designed for single-series charts, but can be used to provide chart values for a single dataset in multi-series/stacked/combination charts.
 
Parameters:
  • $query_result = SQL query result to fetch dataset from database.
  • $db_field_ChartData = database field that contains data values.
  • $db_field_CategoryNames = database field that contains category names.(Optional for multi-serise/stacked/combination charts)
  • $strParam = (Optional) delimiter separated attribute list for dataplots.
  • $link = (Optional) Adds hyperlink feature to dataplots. This adds the link attribute to dataplots or <set> elements.It can be a simple URL say, "http://www.google.com" or another page say, "Drill/Detailed.php" etc. For details on drill down and creating links using FusionCharts, please go through the section Drill Down Charts.

    This parameter has a link place holder format that helps creating dynamic links. Anything placed between ## and ##
    (for example, . FactoryID in "Detailed.php?FId=##FactoryID##") will be regarded as a field/column name in the SQL query result. Value from that column will dynamically replcae that place holder. Hence, for each dataplot in the chart the link values will be different.

    For detailed exmaple on this feature, please refer to Creating Drilldown charts in "Using With PHP Class" section.
 

Example:

$strQuery = "select weekNames,revenue from Sales order by weekNames where CMonth=1";
$result = mysql_query($strQuery);
$FC->addDataFromDatabase($result, "revenue", weekNames");

 
For detailed examples on FusionCharts PHP Class' Database Handling functions please go through the section Using with PHP Class
 
Chart rendering and XML generating functions
 
string getXML()
 
This function is used to get the full XML required for chart generation. FusionCharts PHP Class functions build specific parts of chart XML. getXML() function assembles those parts and returns the full XML. Users can use this XML to render charts in dataURL method.
 
Return Type:
  • Chart XML in string.
 

Example:

$xml=$FC->getXML();

 
renderChart()
 
This function builds the full XML required for chart generation and also renders chart based on chart type, width and height as specified. This function does not accept any parameter, nor does it return any value.
 

Example:

$FC->renderChart();

 
renderChartFromExtXML(string $dataXML)
 
Renders chart from XML which has not been created in the program. After creating chart object and setting relative SWF file path, this function can be used where the full XML is passed through.
 
Parameter:
  • $dataXML = full XML for chart rendering in string format
 

Example:

$xml="<graph><set value='100' name='Product A' /><set value='120' name='Product B' /></graph>";
$FC=new FusionCharts("Column3D","300","250");
$FC->renderChartFromExtXML($xml);