public SingleChartModel GetData() { const string defaultChartAttributes = @"numberprefix='$' legendPadding='25' chartRightMargin='-6' bgcolor='FFFFFF' baseFontSize='9' showalternatehgridcolor='0' showplotborder='0' divlinecolor='CCCCCC' showvalues='1' showcanvasborder='0' canvasbordercolor='CCCCCC' canvasborderthickness='1' yaxismaxvalue='30000' captionpadding='30' linethickness='3' sshowanchors='0' yaxisvaluespadding='15' showlegend='1' legendPosition='BOTTOM' use3dlighting='0' showshadow='0' legendshadow='0' legendborderalpha='0' showborder='0'"; Chart = new Pie2D(defaultChartAttributes) { Set = new List <Set>() }; Chart.Attributes.Add("pieRadius", "80%"); Chart.Attributes.Add("Caption", "Selected market - Top " + TopCountValue + " Companies"); Chart.Attributes.Add("SubCaption", PeriodString + " - " + MeasureValue); Input.Rows.RemoveAt(0); AddStyles(Chart); var palettecolors = ""; for (int i = 0; i < Input.Rows.Count; i++) { palettecolors += _colorSource.GetNextColor() + ","; //if (Input.Rows[i].Values[1].ToUpper() == "RECKITT BENCKISER") //{ // palettecolors += "#de2588" + ","; //} //else //{ // palettecolors += _colorSource.GetNextColor() + ","; //} } Chart.Attributes.Add("palettecolors", palettecolors); AddSet(Chart); var model = new SingleChartModel(); model.Chart = Chart.RenderWithScript("100%", "430"); return(model); }
protected override NodeBase CreateInternal(object data) { var values = data as List <string>; var complexNode = new ComplexNode("td"); //complexNode.ChildNodes.Add(new SimpleNode("span", values != null ? Convert.ToString(RecordCount) : "") { Classes = new List<string>() { "rank-div" } }); string colorValue = ""; if (values[1].ToUpper().Contains("TOTAL")) { colorValue = ColorListDataSource.ColorOfTotal.Replace("#", ""); } else if (UncheckedItem != null && UncheckedItem.Contains(values[1])) { colorValue = ""; if (RecordCount != 0) { complexNode.ChildNodes.Add(new SimpleNode("span", values != null ? Convert.ToString(RecordCount) : "") { Classes = new List <string>() { "rank-div" } }); } } else { colorValue = _colorSource.GetNextColor(); if (RecordCount != 0) { complexNode.ChildNodes.Add(new SimpleNode("span", values != null ? Convert.ToString(RecordCount) : "") { Classes = new List <string>() { "rank-div" } }); } } complexNode.ChildNodes.Add(new SimpleNode("span", string.Empty) { Classes = new List <string>() { "color-div" }, Styles = new Dictionary <string, string>() { { "background-color", "#" + colorValue } } }); RecordCount++; return(complexNode); }
private List <DataSet> AddTrendLineDataSet() { var dataSets = new List <DataSet>(); var count = _input.Rows.Count; if (count > 11) { count = 16; } for (int i = 1; i < _input.Rows.Count; i++) { if (string.IsNullOrEmpty(_uncheckedItems) || !_uncheckedItems.Contains(_input.Rows[i].Values[1])) { var dataSet = new DataSet("renderas='Line' parentYAxis='P'"); dataSet.Attributes.Add("seriesName", _input.Rows[i].Values[1]); //dataSet.Attributes.Add("color", colorList[i % 15]); dataSet.Set = new List <Set>(); for (int j = 3; j < _input.Columns.Count; j++) { var set1 = new Set(); set1.Attributes.Add("value", _input.Rows[i].Values[j]); dataSet.Set.Add(set1); } if (_input.Rows[i].Values[1].ToUpper().Contains("RECKITT BENCKISER")) { dataSet.Attributes.Add("color", "#de2588"); dataSet.Attributes.Add("anchorBgColor", "#de2588"); } else { string color = _colorList.GetNextColor(); dataSet.Attributes.Add("color", "#" + color); dataSet.Attributes.Add("anchorBgColor", "#" + color); } dataSets.Add(dataSet); } } return(dataSets); }
public string GetChart() { chart = new MSCombiDY2D(defaultAttributes) { Dataset = new List <DataSet>(), }; if (KPI.ToUpper() == "SALES") { chart.Attributes.Add("pyAxisName", "In " + UnitValue + " 000"); chart.Attributes.Add("sYAXisName", "In %"); } chart.ControlId = "interactiveTrendChart"; if (KPI.ToUpper() == "SALES PERFORMANCE VS COMPETITORS") { chart.Attributes.Add("pyAxisName", ""); chart.Attributes.Add("sYAXisName", "In " + UnitValue + " 000"); } AddStyles(); if (RevertAxis && KPI.ToUpper() == "SALES PERFORMANCE VS COMPETITORS") { foreach (Row t in Input.Rows.Skip(1)) { var category = new Category(); category.Attributes.Add("label", t.Values[1]); chart.Categories.Category.Add(category); } foreach (var col in Input.Columns.Skip(3)) { var dataSet = new DataSet("renderas='Line'"); if (PeriodType == "MAT" || PeriodType == "YTD") { dataSet.Attributes.Add("seriesName", PeriodType + " " + col.Name.Split('_').ToArray()[0]); } else { dataSet.Attributes.Add("seriesName", col.Name.Split('_').ToArray()[0]); } dataSet.Attributes.Add("parentyaxis", "S"); dataSet.Set = new List <Set>(); string color = _colorList.GetNextColor(); dataSet.Attributes.Add("color", "#" + color); dataSet.Attributes.Add("anchorBgColor", "#" + color); foreach (var row in Input.Rows.Skip(1)) { var set1 = new Set(); set1.Attributes.Add("value", row[col.Position] == "--" ? "0" : row[col.Position]); dataSet.Set.Add(set1); } chart.Dataset.Add(dataSet); } } else { foreach (var col in KPI.ToUpper() == "SALES" ? Input.Columns.Skip(2) : Input.Columns.Skip(3)) { var category = new Category(); if (PeriodType == "MAT" || PeriodType == "YTD") { category.Attributes.Add("label", PeriodType + " " + col.Name.Split('_').ToArray()[0]); } else { category.Attributes.Add("label", col.Name.Split('_').ToArray()[0]); } chart.Categories.Category.Add(category); } if (!UncheckedItems.Contains(Input.Rows[0].Values[1])) { chart.Dataset.Add(AddFirstDataSet()); } for (var i = 1; i < Input.Rows.Count; i++) { if (!UncheckedItems.Contains(Input.Rows[i].Values[1])) { chart.Dataset.Add(AddTrendLineDataSet(Input.Rows[i])); } } } return(chart.RenderWithScript("98%", "360", isForceHtmlRender: true)); }
public string GetChart() { chart = new BubbleChartData(defaultAttributes); var xMax = float.MinValue; var xMin = float.MaxValue; var yMax = float.MinValue; var yMin = float.MaxValue; for (int i = 0; i < Input.Rows.Count; i++) { if (Input.Rows[i].Values[3] != null || Input.Rows[i].Values[5] != null) { xMax = GetMax(Input.Rows[i].Values[3] != "--" ? Input.Rows[i].Values[3]:"0", xMax); xMin = GetMin(Input.Rows[i].Values[3] != "--" ? Input.Rows[i].Values[3] : "0", xMin); yMax = GetMax(Input.Rows[i].Values[4] != "--" ? Input.Rows[i].Values[4] : "0", yMax); yMin = GetMin(Input.Rows[i].Values[4] != "--" ? Input.Rows[i].Values[4] : "0", yMin); } } chart.Attributes.Add("xaxisminvalue", (xMin - 15).ToString()); chart.Attributes.Add("xaxismaxvalue", (xMax + 15).ToString()); chart.Attributes.Add("yaxisminvalue", (yMin - 50).ToString()); chart.Attributes.Add("yaxismaxvalue", (yMax + 50).ToString()); if (PeriodType.ToUpper() == "YTD" || PeriodType.ToUpper() == "MAT") { string[] headers = Input.Columns[3].Name.Split('_').ToArray(); chart.Attributes.Add("xaxisname", PeriodType + " " + headers[0]); headers = Input.Columns[4].Name.Split('_').ToArray(); chart.Attributes.Add("yaxisname", PeriodType + " " + headers[0]); } else { var monthDict = new Dictionary <string, int>() { { "Jan", 1 }, { "Feb", 2 }, { "Mar", 3 }, { "Apr", 4 }, { "May", 5 }, { "Jun", 6 }, { "Jul", 7 }, { "Aug", 8 }, { "Sep", 9 }, { "Oct", 10 }, { "Nov", 11 }, { "Dec", 12 } }; var qtrDict = new Dictionary <string, int>() { { "QTR1", 1 }, { "QTR2", 2 }, { "QTR3", 3 }, { "QTR4", 4 } }; if (PeriodType == "MTH") { int year; int.TryParse(EndDate.Split(' ')[1], out year); int prevYear = year - 1; chart.Attributes.Add("xaxisname", "Long-Term (" + EndDate + "-" + EndDate.Split(' ')[0] + " " + prevYear + ")"); int monthIndex = monthDict[EndDate.Split(' ')[0]]; if (monthIndex > 3) { monthIndex = monthIndex - 3; } else { monthIndex = 12 + (monthIndex - 3); } string oldMonth = monthDict.FirstOrDefault(x => x.Value == monthIndex).Key; chart.Attributes.Add("yaxisname", "Short-Term (" + EndDate + "-" + oldMonth + " " + EndDate.Split(' ')[1] + ")"); } if (PeriodType == "QTR") { int year; int.TryParse(EndDate.Split(' ')[2], out year); int prevYear = year - 1; chart.Attributes.Add("xaxisname", "Long-Term (" + EndDate + "-" + EndDate.Split(' ')[0] + " " + EndDate.Split(' ')[1] + " " + prevYear + ")"); //int monthIndex = monthDict[EndDate.Split(' ')[1]]; int monthIndex = qtrDict[EndDate.Split(' ')[0] + EndDate.Split(' ')[1]]; if (monthIndex > 3) { monthIndex = monthIndex - 3; } else { monthIndex = 12 + (monthIndex - 3); } string oldMonth = monthDict.FirstOrDefault(x => x.Value == monthIndex).Key; chart.Attributes.Add("yaxisname", "Short-Term (" + EndDate + "-" + oldMonth + " " + EndDate.Split(' ')[1] + ")"); } } var diffBetXInterval = Convert.ToInt16(Math.Floor((xMax - xMin) / 5)); for (var i = 0; i < xMax; i += diffBetXInterval) { var category = new Category(); category.Attributes.Add("label", i.ToString()); chart.Categories.Category.Add(category); } var dataset = new DataSet(); foreach (var row in Input.Rows) { String.Format("{0:0.00}", row.Values[3] != "--" ? row.Values[3] : "0"); String.Format("{0:0.00}", row.Values[4] != "--" ? row.Values[4] : "0"); String.Format("{0:0.00}", row.Values[5] != "--" ? row.Values[5] : "0"); string toolText = "Series-" + row.Values[1] + ", Sales: " + row.Values[5]; Set set = new Set() { Attributes = new Dictionary <string, string>() { { "x", row.Values[3] }, { "y", row.Values[4] }, { "z", row.Values[5] }, { "name", row.Values[1] }, { "color", _colorList.GetNextColor() }, { "toolText", toolText } } }; dataset.Add(set); } chart.Dataset.Add(dataset); return(chart.RenderWithScript("98%", "360")); }
public string GetChart() { chart = new MSLineChart(defaultAttributes) { Dataset = new List <DataSet>() }; if (KPI.ToUpper() == "MARKET SHARE") { chart.Attributes.Add("yAxisName", "In %"); } if (KPI.ToUpper() == "EVOLUTION INDEX") { chart.Attributes.Add("yAxisName", "Index in 000"); } chart.ControlId = "interactiveTrendChart"; AddStyles(); if (RevertAxis && (KPI.ToUpper() == "EVOLUTION INDEX" || KPI.ToUpper() == "MARKET SHARE")) { foreach (Row t in Input.Rows) { var category = new Category(); category.Attributes.Add("label", t.Values[1]); chart.Categories.Category.Add(category); } foreach (var col in Input.Columns.Skip(3)) { var dataSet = new DataSet("renderas='Line'"); if (PeriodType == "MAT" || PeriodType == "YTD") { dataSet.Attributes.Add("seriesName", PeriodType + " " + col.Name.Split('_').ToArray()[0]); } else { dataSet.Attributes.Add("seriesName", col.Name.Split('_').ToArray()[0]); } dataSet.Attributes.Add("parentyaxis", "S"); dataSet.Set = new List <Set>(); string color = _colorList.GetNextColor(); dataSet.Attributes.Add("color", "#" + color); dataSet.Attributes.Add("anchorBgColor", "#" + color); foreach (var row in Input.Rows) { var set1 = new Set(); set1.Attributes.Add("value", row[col.Position] == "--" ? "0" : row[col.Position]); dataSet.Set.Add(set1); } chart.Dataset.Add(dataSet); } } else { foreach (var col in Input.Columns.Skip(3)) { var category = new Category(); category.Attributes.Add("label", col.Name.Split('_').ToArray()[0]); chart.Categories.Category.Add(category); } for (int i = 0; i < Input.Rows.Count; i++) { if (!UncheckedItems.Contains(Input.Rows[i].Values[1])) { chart.Dataset.Add(AddTrendLineDataSet(Input.Rows[i])); } } } return(chart.RenderWithScript("98%", "360", isForceHtmlRender: true)); }