Charting Data from Array |
In this section, we will show you how to use FusionCharts PHP class functions to plot charts from data contained in PHP arrays. We will cover the following examples here:
Before you go further with this page, we recommend you to please see the previous section, "Basic Examples", as we start off from concepts explained in that page. The code examples contained in this page are present in Download Package > Code > PHPClass > ArrayExample folder. |
Creating a Single series chart from data contained in arrays |
The code to create a single series chart is contained in SingleSeries.php and can be listed as under: |
<?php //We have included ../Includes/FusionCharts_Gen.php, which contains FusionCharts PHP Class //to help us easily embed the charts. include("../Includes/FusionCharts_Gen.php"); ?> <HTML> <HEAD> <TITLE> FusionCharts XT - Array Example using Single Series Column 3D Chart </TITLE> <?php //You need to include the following JS file, if you intend to embed the chart using JavaScript. //Embedding using JavaScript avoids the "Click to Activate..." issue in Internet Explorer //When you make your own charts, make sure that the path to this JS file is correct. //Else, you will get JavaScript errors. ?> <SCRIPT LANGUAGE="Javascript" SRC="../../FusionCharts/FusionCharts.js"> </SCRIPT> </HEAD> <BODY> <CENTER> <?php //In this example, using FusionCharts PHP Class we plot a single series chart //from data contained in an array. //The array needs to have two columns - first one for data labels/names //and the next one for data values. //Let's store the sales data for six products in our array. We also store //the name of products. //Store Name of Products in the first column of the array $arrData[0][0] = "Product A"; $arrData[1][0] = "Product B"; $arrData[2][0] = "Product C"; $arrData[3][0] = "Product D"; $arrData[4][0] = "Product E"; $arrData[5][0] = "Product F"; //Store sales data in the second column of the array $arrData[0][1] = 567500; $arrData[1][1] = 815300; $arrData[2][1] = 556800; $arrData[3][1] = 734500; $arrData[4][1] = 676800; $arrData[5][1] = 648500; # Create FusionCharts PHP Class object for single series column3d chart $FC = new FusionCharts("Column3D","600","300"); # Set Relative Path of chart SWF file. $FC->setSwfPath("../../FusionCharts/"); # Define chart attributes $strParam="caption=Sales by Product;numberPrefix=$;formatNumberScale=0;decimalPrecision=0"; # Set chart attributes $FC->setChartParams($strParam); # Call FusionCharts PHP Class Function to add data from the array $FC->addChartDataFromArray($arrData); # Render the chart $FC->renderChart(); ?> </CENTER> </BODY> </HTML> |
In the above example:
Please go through FusionCharts PHP Class API Reference section to know more about the functions used in the above code. When you view the chart, you will see a chart as under: |
Creating a Multi-series chart from data contained in arrays |
Let us now create a multi-series chart from data contained in arrays. We create a file MultiSeries.php with the following code: |
<?php //We have included ../Includes/FusionCharts_Gen.php, which contains FusionCharts PHP Class //to help us easily embed the charts. include("../Includes/FusionCharts_Gen.php"); ?> <HTML> <HEAD> <TITLE> FusionCharts XT - Array Example using Multi Series Column 3D Chart </TITLE> <?php //You need to include the following JS file, if you intend to embed the chart using JavaScript. //Embedding using JavaScripts avoids the "Click to Activate..." issue in Internet Explorer //When you make your own charts, make sure that the path to this JS file is correct. //Else, you will get JavaScript errors. ?> <SCRIPT LANGUAGE="Javascript" SRC="../../FusionCharts/FusionCharts.js"> </SCRIPT> </HEAD> <BODY> <CENTER> <?php //In this example, using FusionCharts PHP Class //we plot a multiseries chart from data contained in arrays /* The arrays need to be of the following structure : 1. Array to store Category Names : A single dimensional array storing the category names 2. A 2 Dimensional Array to store data values ** Each row will store data for 1 dataset Column 1 will store : Dataset Series Name. Column 2 will store : Dataset attributes (as list separated by delimiter.) Column 3 and rest will store : values of the dataset */ //Let's store the sales data for six products in our array. We also store the name of products. //Store Name of Products $arrCatNames[0] = "Product A"; $arrCatNames[1] = "Product B"; $arrCatNames[2] = "Product C"; $arrCatNames[3] = "Product D"; $arrCatNames[4] = "Product E"; $arrCatNames[5] = "Product F"; //Store sales data for current year $arrData[0][0] = "Current Year"; $arrData[0][1] = ""; // Dataset Parameters $arrData[0][2] = 567500; $arrData[0][3] = 815300; $arrData[0][4] = 556800; $arrData[0][5] = 734500; $arrData[0][6] = 676800; $arrData[0][7] = 648500; //Store sales data for previous year $arrData[1][0] = "Previous Year"; $arrData[1][1] = ""; // Dataset Parameter $arrData[1][2] = 547300; $arrData[1][3] = 584500; $arrData[1][4] = 754000; $arrData[1][5] = 456300; $arrData[1][6] = 754500; $arrData[1][7] = 437600; # Create FusionCharts PHP Class object for multiseries column3d chart $FC = new FusionCharts("MSColumn3D","600","300"); # Set Relative Path of chart SWF file. $FC->setSwfPath("../../FusionCharts/"); # Define chart attributes $strParam="caption=Sales by Product;numberPrefix=$;formatNumberScale=1;rotateValues=1;decimalPrecision=0"; # Set chart attributes $FC->setChartParams($strParam); # Pass the two arrays storing data and category names to # FusionCharts PHP Class function addChartDataFromArray $FC->addChartDataFromArray($arrData, $arrCatNames); # Render the Chart $FC->renderChart(); ?> </CENTER> </BODY> </HTML> |
Let's analyze what we have done in the code above:
Please go through FusionCharts PHP Class API Reference section to know more about the functions used in the above code. When you view the chart, you will see a chart as under: In Download Package > Code > PHPClass > ArrayExample, we have more example codes to create Stacked and Combination Charts too, which have not been explained here, as they're similar in concept. You can directly see the code if you want to. |