## FusionCharts PHP Class API > List of Functions
Here is a list of the functions defined in FusionCharts PHP Class (FusionCharts_Gen.php). 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 Public Functions Other Setup Functions Generic Data Handling Functions Chart Specific Functions Trendlines & Vtrendlines Functions Colors & Styles Functions Array Handling Functions Database Handling Functions XML generating & Chart Rendering Functions
Constructor
FusionCharts(string $chartType, string $width, string $height[,string $chartID, boolean $isTransparent])
Instantiates chart object. Use the constructor to specify chart type, chart width, chart height. One can also specify an ID to the chart for JavaScript Interaction. If one uses isTransparent parameter, the chart would be ready for transparent mode. To set the chart to transparent, one need to set bgApha chart parameter using setChartParam() or setChartParams() function.
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, to use chart's JavaScript APIs. NOTE: If no ID is specified by the developer, PHP automatically generates an ID using Session and assigns it to the chart. This ID is generated using a counter variable kept in session. Hence, one every page refresh new ID would be assigned to chart. One should provide and ID, if one wishes to interact with the chart later using JavaScript APIs like setDataXML(), setDataURL(), print(), saveAsImage() etc. $isTransparent = (Optional)(true/false) prepares the chart for transparent background if set to true. To set the chart transparent, one need to set bgApha chart parameter using setChartParam() or setChartParams() function.
Example:
$FC= new FusionCharts("Column3D, "350", "250");
Public Functions
Other Setup Functions
setParamDelimiter(string $strDelm)
Sets the delimiter for lists of chart attributes that are passed to functions 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 cannot be used as normal character in chart attribute values.
Note: One 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 path of FusionCharts SWF file(s).
Example :
$FC->setSWFPath("FusionCharts/");
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...");
setInitParam( string $tname, string $tvalue)
Sets the chart’s initializing parameters and adds extra chart settings as well.
Parameters:
- $tname = name of the initializing parameters. Please refer to the table below for the list of parameter names. $tvalue = sets values for the initializing parameters. It can take any one of the several parameters listed below: Please refer to the table below for the possible values for each parameter name.
  Parameter Name | Range/Value | Description
  debugMode | true/false | If sets to true, a debug window displays over the chart.
  registerWithJS | true/false | If sets to true, the chart will be registered with JavaScript. This would allow JavaScript to call chart's JavaScript API.
  bgcolor | Hex Coded Color | Background color of the chart. If background color of the chart is not defined in XML, this property would be used to set the chart’s background. E.g. #ff0000
  scaleMode | noscale or exactfit or noborder or showall | Scaling option of the chart. It can take any value out of the four: "noscale", "exactfit", "noborder" and "showall".
  lang |  | Preferred language. e.g. EN
Example:
$FC->setInitParam("debugmode",true); $FC->setInitParam("registerWithJS",false); $FC->setInitParam("bgColor","FF00FF"); $FC->setInitParam("scalemode","noscale"); $FC->setInitParam("lang","ENG");
setOffChartCaching(boolean $SWFNoCache)
Determines whether the chart SWF files are to be cached or not. If this function is not used, the browser will cache the charts. One can stop caching by setting the parameter to true.
Parameter:
$SWFNoCache = (true/false) stops catching the chart SWF files if set to true.
Example:
$FC->setOffChartCaching(true);
Generic Data Handling Functions
setChartParam(string $paramName, string $paramValue)
Sets a single attribute at a time for the chart. Attributes listed under <chart> 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 attributes for the chart through one function. Multiple attributes from <chart> 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 the attributes belong to the category set of a Multi-Series chart. Attributes mentioned under the <categories> element in Chart XML Reference section can be set through this function.
Parameter:
$catParams = delimiter separated list of 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, string $vlineParams])
Adds a single category label information at a time. This function is used only when creating non single series charts like Multi-series, Stacked, Combination, Multi-series Stacked, Scatter and Bubble charts.
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. $vlineParams = (Optional) delimiter separated attributes for vline. Attributes mentioned under the <vline> element for <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. When this parameter is passed the previous 2 parameters are ignored. Please use this parameter alone, setting "" to the previous two parameters.
Example:
$FC->addCategory("Week 1"); $FC->addCategory("Week 2 ", "hoverText=Sales data for Second Week;ShowLabel=0");
Add Vline:
$FC->addCategory("","","color=FF0000")
addDataset(string $seriesName[, string $datasetParams])
Adds a dataset to Multi-series, Stacked, Combination, Multi-series Stacked, Scatter and Bubble charts.
Parameters:
$seriesName = series name of the dataset. $datasetParams = (Optional) delimiter separated attribute list of the series in string format. Attributes listed under <dataset> element 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, string $vlineParams])
Provides chart data. For single series charts $params must be passed having at least an attribute "label=foo". The parameter 'label' specifies the category label name for the data. For multi-series, stacked, combination and multi-series stacked charts $params is optional. In these charts category label is defined using addCategory() function.
Parameters:
$value = data value to be plotted over the chart. $params = (Optional) list of dataplot attributes. Attributes listed under <set> element 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. $vlineParams = (Optional) delimiter separated attributes for vertical line or vline. When this parameter is passed the previous 2 parameters are ignored. Please use this parameter alone, setting "" to the previous two parameters. Attributes mentioned under the <vline> 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.
Special Usage Cases: For Scatter Chart the x value should be passed to value parameter, y value should be passed along with other dataplot attributes (if any) as a list of delimiter separated attributes. e.g. addChartData("21","y=2.4;alpha=80") For Bubble Chart the x value should be passed to value parameter, y value and z value should be passed along with other dataplot attributes (if any) as a list of delimiter separated attributes. e.g. addChartData("21","y=2.4;z=5;alpha=80")
Example:
For Single-Series Charts :
$FC->addChartData("40800","label="Week 1"); $FC->addChartData("31400","label="Week 2;color=ff0000;link=http://www.FusionCharts.com");
For Multi-Series Charts:
$FC->addChartData("40800"); $FC->addChartData("31400","link=http://www.FusionCharts.com");
Add Vline :
Call FC.addChartData("","","color=FF0000")
Chart Specific Functions
createMSStDataset()
Creates the primary dataset for multi-series stacked chart. Note that this function is applicable only for MultiSeries-Stacked Column 2D Chart and Multi-Series Stacked Column 2D Dual Y Chart.
Example:
FC->createMSStDataset();
addMSStSubDataset(string $seriesName, string $datasetParams)
Adds sub-dataset to multi-series stacked chart's primary dataset created using createMSStDataset() function. This function is applicable only for MultiSeries-Stacked Column 2D Chart and Multi-Series Stacked Column 2D Dual Y Chart.
Parameters:
$seriesName = series name of the sub-dataset. $datasetParams = delimiter separated attribute list of the series in string format. Attributes listed under <dataset> element in the Chart XML Reference section can be passed through this. The attribute values must not be enclosed in single or double quotes.
Note: Remember to use this function immediately after createMSStDataset() function and add data values pertaining to the dataset immediately after using this function.
Example:
//Add primary dataset $FC->createMSStDataset(); //Add sub-dataset within a primary dataset $FC->addMSStSubDataset("Product A", ""); //Add data for 'Product A' $FC->addChartData("30"); $FC->addChartData("26");
addMSLineset(string $seriesName, string $linesetParams)
Adds lineset to multi-series stacked chart. This line goes as per Secondary Y Axis Scale. Note that this function is applicable only for Multi-Series Stacked Column 2D Dual Y Chart.
Parameters:
$seriesName = series name of the lineset. $linesetParams = delimiter separated attribute list of the series in string format. Attributes listed under <lineset> element 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: The data for the lineset declared using this function is added using addMSLinesetData() function.
Example:
//Add a lineset $FC->addMSLineset("Cost as %25 of Revenue","lineThickness=4"); //Add data for lineset $FC->addMSLinesetData("57"); $FC->addMSLinesetData("68");
addMSLinesetData(string $value[, string $params, string $vlineParams])
Adds a line to multi-series stacked chart's lineset. This function is applicable only for Multi-Series Stacked Column 2D Dual Y Chart.
Parameters:
$value = data value to be plotted over the chart. $params = (Optional) list of dataplot attributes. Attributes listed under <set> element 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. $vlineParams = (Optional) delimiter separated attributes for vertical line or vline. When this parameter is passed the previous 2 parameters are ignored. Please use this parameter alone, setting "" to the previous two parameters. Attributes mentioned under the <vline> 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.
Note: Remember to use this function immediately after addMSLineset() function.
Example:
//Add lineset $FC->addMSLineset("Cost as %25 of Revenue","lineThickness=4"); //Add data for lineset $FC->addMSLinesetData("57"); $FC->addMSLinesetData("68");
setGridParams(string $gridParams)
Sets the chart’s parameters. Note that one CAN'T use setChartParam() or setChartParams() function to set Grid chart’s parameters. This function is applicable only for Grid chart.
Parameter:
$gridParams = delimiter separated attributes for grid. For more on grid parameters please go through: “Guide for Web Developers” -> “Grid Component” -> “Grid Parameters”.
Trendlines and Vtrendlines Functions
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");
addVTrendLine(string $vtlineParams)
Adds a vertical trendline to Bubble Chart or Scattered Chart. All attributes for the <line> element of <vtrendlines> element, for example, startValue, endValue, color, displayValue, isTrendZone, showOnTop etc., can be passed here.
Parameter:
$vtlineParams = delimiter separated attributes for vertical trend line. Attributes mentioned under the <line> element for <vtrendlines> 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->addVTrendLine("startValue=35;endValue=36"); $FC->addVTrendLine("startValue=0;endValue=20;alpha=5;color=00FF00");
Colors & Styles Functions
defineStyle(string $styleName, string $styleType, string $styleParams)
Defines a chart's style. A style needs to be defined first and then apply to chart a object using applyStyle() function.
Parameters:
$styleName = a name of the style to be defined. It can take alphanumeric value and be passed through applyStyle() function. $styleType = type of the style. The values for style types are: “bevel”, “glow”, “font”, “animation” and “shadow”. $styleParams = delimiter separated attributes for style type. Attributes mentioned under the <style> element for <definition> element in the <styles> element can be passed through this. For more on these attributes please see the section “How to Use?” under “FusionCharts v3 STYLES.”
Example:
$FC->defineStyle("MyFirstFontStyle", "font", "font=Verdana; size=12; color=FF0000; bgColor=FFFFDD;borderColor=666666"); $FC->defineStyle("MyFirstGlow","Glow","color=FF5904;alpha=75");
applyStyle(string $toObject, string $styles)
Applies a style, defined by the defineStyle function, to chart objects.
Parameters:
$toObject = chart object where the style is to be applied. To get the names of the <chart> objects please see the page: “Chart XML Reference”. Note that toObject can take only one object name at a time. $styles = one or more style names that are defined using the defineStyle function.
Example:
//Define First Style element named MyFirstFontStyle $FC->defineStyle("MyFirstFontStyle","font","font=Verdana;size=12;color=FF0000; bgColor=FFFFDD;borderColor=666666"); //Define Second Style element named - MyFirstGlow $FC->defineStyle("MyFirstGlow","Glow","color=FF5904;alpha=75"); // Apply Style $FC->applyStyle("CAPTION","MyFirstFontStyle"); // Apply Style $FC->applyStyle("YAXISNAME","MyFirstGlow"); //One can add multiple style in one item using applyStyle function by this way: $FC->applyStyleFC("XAXISNAME", "MyFirstGlow, MyFirstFontStyle");
Example:
$FC->setGridParams("showPercentValues=1;showShadow=1"); $FC->setGridParams("numberItemsPerPage=6");
addColors(string $colorList)
Adds and apply user-defined colors to chart dataplots. Although FusionCharts v3 has a set of colors by default, this function allows the developers to provide own set of colors.
Parameter:
$colorList = delimiter separated list of hexcoded colors. Note that the hexcoded colors should not be prefixed by #.
Example:
$FC->addColors("FF0000;00FF00;0000FF;FFFF00;00FFFF");
clearUserColor()
Clears the color(s) that has been added using addColors function.
Example:
$FC->clearUserColor();
Array Handling Functions
addCategoryFromArray(string $categoryArray)
Adds chart category labels from array.
Parameter:
$categoryArray = one dimensional array of string type containing category labels.
Example:
// Category Array List $categoryArray[0]="Week 1"; $categoryArray[1]="Week 2"; $categoryArray[2]="Week 3"; $categoryArray[3]="Week 4"; // Add category names $FC->addCategoryFromArray ($categoryArray);
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 dimensional array (n rows x 2 columns): First Column stores Category Names. Second Column stores data values. For MultiSeries/Stacked/Combination charts: First Column stores Dataset Names. Second Column stores Dataset Attributes (compulsory for combination chart) Rest of the columns store data values for the dataset $dataCatArray (required only for Multi Series/Stacked/Combination charts) Category names stored in a single dimensional array.
Example:
Single Series Chart:
//Add Category labels $arrData[0][0]="Week 1"; $arrData[1][0]="Week 2"; $arrData[2][0]="Week 3"; $arrData[3][0]="Week 4"; //Add chart Data $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 as category labels $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"; //Series Name $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"; //Series Name $arrData[1][1] = "color=0000ff"; // Dataset Parameters $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 Functions
setDataBaseType(string $dbType)
Sets the type of the Database. It takes either of the two values – “mysql” or ”oracle” The default value is “mysql”.
Parameter:
$dbType = type of the database.
Example:
$FC->setDataBaseType("oracle"); or $FC->setDataBaseType("mysql");
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
XML Generating & Chart Rendering 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 as string.
Example:
$xml=$FC->getXML();
mixed renderChart([boolean $renderAsHTML , boolean $display ] )
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.
Parameter:
$renderAsHTML = (true/false) renders the chart using HTML embedding method if set true. Note that this method does not make use of FusionCharts.JS. This HTML embedding method is helpful where JavaScript is disabled or in AJAX Portback. $display = (true/false) ask the render() function to directly display the chart or to return the renderd HTML of the chart to a variable. The default value is true. If sets to false, the function would return the rendered HTML as string. Otherwise, the chart is normally printed to the reponse buffer.
Return Type: mixed
If $display is set to false it returns the renderd HTML of the chart as string. If $display is set to true it returns true.
Example:
$chartHTML = $FC->renderChart(true, false);
renderChartFromExtXML(string $dataXML, [boolean $renderAsHTML])
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 $renderAsHTML = (Optional)(true/false) renders the chart using HTML embedding method if set true.
Example:
$xml="<chart><set value='100' name='Product A'/><set value='120' name='Product B'/></chart>"; $FC = new FusionCharts("Column3D","300","250"); $FC->renderChartFromExtXML($xml);