using System; using System.Data; using System.Configuration; using System.Collections; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.UI.WebControls.WebParts; using System.Web.UI.HtmlControls; using InfoSoftGlobal; public partial class ArrayExample_Combination : System.Web.UI.Page { protected void Page_Load(object sender, EventArgs e) { // Generate chart in Literal Control FCLiteral.Text = CreateChart(); } public string CreateChart() { //In this example, we plot a Combination chart from data contained //in an array. The array will have three columns - first one for Quarter Name //second one for sales figure and third one for quantity. string[,] arrData = new string[4, 3]; //Store Quarter Name arrData[0, 0] = "Quarter 1"; arrData[1, 0] = "Quarter 2"; arrData[2, 0] = "Quarter 3"; arrData[3, 0] = "Quarter 4"; //Store revenue data arrData[0, 1] = "576000"; arrData[1, 1] = "448000"; arrData[2, 1] = "956000"; arrData[3, 1] = "734000"; //Store Quantity arrData[0, 2] = "576"; arrData[1, 2] = "448"; arrData[2, 2] = "956"; arrData[3, 2] = "734"; //Now, we need to convert this data into combination XML. //We convert using string concatenation. //strXML - Stores the entire XML //strCategories - Stores XML for the <categories> and child <category> elements //strDataRev - Stores XML for current year's sales //strDataQty - Stores XML for previous year's sales string strXML, strCategories, strDataRev, strDataQty; int i; //Initialize <graph> element strXML = "<graph caption='Product A - Sales Details' PYAxisName='Revenue' SYAxisName='Quantity (in Units)' numberPrefix='$' formatNumberScale='0' showValues='0' decimalPrecision='0' anchorSides='10' anchorRadius='3' anchorBorderColor='FF8000'>"; //Initialize <categories> element - necessary to generate a multi-series chart strCategories = "<categories>"; //Initiate <dataset> elements strDataRev = "<dataset seriesName='Revenue' color='AFD8F8' >"; strDataQty = "<dataset seriesName='Quantity' parentYAxis='S' color='FF8000' >"; //Iterate through the data for (i = 0; i < 4; i++) { //Append <category name='...' /> to strCategories strCategories += "<category name='" + arrData[i, 0] + "' />"; //Add <set value='...' color='...'/> to both the datasets strDataRev += "<set value='" + arrData[i, 1] + "' />"; strDataQty += "<set value='" + arrData[i, 2] + "' />"; } //Close <categories> element strCategories += "</categories>"; //Close <dataset> elements strDataRev += "</dataset>"; strDataQty += "</dataset>"; //Assemble the entire XML now strXML += strCategories + strDataRev + strDataQty + "</graph>"; //Create the chart - MS Column 3D Line Combination Chart with data contained in strXML return FusionCharts.RenderChart("../FusionCharts/FCF_MSColumn3DLineDY.swf", "", strXML, "productSales", "600", "300", false, false); } }