private IEnumerable <ScatterChart> GenerateSCatterChart() { var scatterChart1 = new ScatterChart(GetXValues(10), GetYValues(2, 10)) { ChartColor = SKColors.Red, ChartName = "Scatter Chart 1", IsStroked = true }; var scatterChart2 = new ScatterChart(GetXValues(10), GetYValues(8, 10)) { ChartColor = SKColors.Green, ChartName = "Scatter Chart 2", IsStroked = false }; var scatterChart3 = new ScatterChart(GetXValues(10), GetYValues(2, 10)) { ChartColor = SKColors.Yellow, ChartName = "Scatter Chart 3", IsStroked = true }; return(new List <ScatterChart> { scatterChart1, scatterChart2, scatterChart3 }); }
void Awake() { chart = gameObject.GetComponent <ScatterChart>(); if (chart == null) { return; } chart.series.SetSerieSymbolSizeCallback(SymbolSize, SymbolSelectedSize); }
private void Redraw(object sender, RoutedEventArgs e) { LineChart.ClearAndPlot(); BarChart.ClearAndPlot(); PieChart.ClearAndPlot(); PieChart1.ClearAndPlot(); StackedBarChart.ClearAndPlot(); ScatterChart.ClearAndPlot(); RadarChart.ClearAndPlot(); }
void Awake() { chart = gameObject.GetComponent <ScatterChart>(); if (chart == null) { return; } foreach (var serie in chart.series) { serie.symbol.sizeFunction = SymbolSize; serie.symbol.selectedSizeFunction = SymbolSelectedSize; } }
private void IsAlive(object sender, RoutedEventArgs e) { if (_isAlive) { _timer.Stop(); _isAlive = false; LineChart.Hoverable = true; LineChart.ClearAndPlot(false); BarChart.Hoverable = true; BarChart.ClearAndPlot(false); StackedBarChart.Hoverable = true; StackedBarChart.ClearAndPlot(false); PieChart.Hoverable = true; PieChart.ClearAndPlot(); PieChart1.Hoverable = true; PieChart1.ClearAndPlot(); ScatterChart.Hoverable = true; ScatterChart.ClearAndPlot(); RadarChart.Hoverable = true; RadarChart.ClearAndPlot(); } else { _timer.Start(); _isAlive = true; LineChart.Hoverable = false; BarChart.Hoverable = false; StackedBarChart.Hoverable = false; PieChart.Hoverable = false; PieChart1.Hoverable = false; ScatterChart.Hoverable = false; ScatterChart.PrimaryAxis.MinValue = null; RadarChart.Hoverable = false; } }
private void ReplaceScatterChart(List <ChartSeriesElement> newSeries, ScatterChart chart, ShapeElementBase element) { int newSeriesCount = element.Data.Columns.Count(c => !c.IsHidden);// newSeries.Count; ChartSeriesElement yValuesSeries = null; var seriesList = SetChartSeries <ScatterChartSeries>(chart, newSeriesCount, false); int index = 0; for (int i = 0; i < newSeries.Count; i++) { if (newSeries[i].YValues != null) { yValuesSeries = newSeries[i].YValues; } if (yValuesSeries == null) { throw new Exception("At least one Y series required for scatter chart"); } ChartSeriesElement newSeriesItem = newSeries.ElementAt(i); if ((element.RowIndexes.Count == 1 && element.RowIndexes[0].IsAll) || element.ColumnIndexes.Any(idx => idx == newSeriesItem.ColumnIndex) || element.RowIndexes.Any(idx => idx == newSeriesItem.ColumnIndex)) { var seriesItem = seriesList.ElementAt(index); Column dataColumn = element.Data.Column(newSeriesItem.ColumnIndex); SetSeriesText(seriesItem, newSeriesItem, dataColumn.GetHeader()); var xvalues = seriesItem.FirstElement <XValues>(); FillNumberReference(xvalues.NumberReference, newSeriesItem, dataColumn); var yvalues = seriesItem.FirstElement <YValues>(); FillNumberReference(yvalues.NumberReference, yValuesSeries, element.Data.Column(yValuesSeries.ColumnIndex)); var errorBars = seriesItem.FirstElement <ErrorBars>(); if (errorBars != null) { FillErrorBars(errorBars, newSeries[i].MinusErrorBar, newSeries[i].PlusErrorBar); } index++; } } }
private IEnumerable <ScatterChart> GenerateLineCharts() { var random = new ScatterChart(GetXValues(), Random(5)) { ChartColor = SKColors.Red, IsStroked = true }; var random1 = new ScatterChart(GetXValues(), Random(20)) { ChartColor = SKColors.Green }; var random2 = new ScatterChart(GetXValues(), Random(40)) { ChartColor = SKColors.Yellow, IsStroked = true }; return(new List <ScatterChart> { random, random1, random2 }); }
private void GetChartTypeAndDataRange(ref ChartType type, ref Tuple <int, int> dataRange, OpenXmlElement chart) { BarChart barchart = chart as BarChart; ScatterChart scatterChart = chart as ScatterChart; LineChart lineChart = chart as LineChart; PieChart pieChart = chart as PieChart; type = ChartType.None; if (barchart != null) { type = ChartType.Bar; if (element.IsFixed) { dataRange = GetFixedDataRange <BarChartSeries>(barchart); element.Data.TrimOrExpand(dataRange.Item1, dataRange.Item2); } if (element.IsWaterfall) { type = ChartType.Waterfall; } } else if (scatterChart != null) { { type = ChartType.Scatter; } } else if (lineChart != null) { type = ChartType.Line; if (element.IsFixed) { dataRange = GetFixedDataRange <LineChartSeries>(barchart); element.Data.TrimOrExpand(dataRange.Item1, dataRange.Item2); } } }
/// <summary> /// 初始化方法 /// </summary> /// <remarks></remarks> private void Bind() { try { COMSSmobilerDemo.common.ReimbursementInfo ReimbursementInfo = new COMSSmobilerDemo.common.ReimbursementInfo(); switch (Mode) { case 1: TitleText = "消费记录月份趋势分析"; DataTable table = new DataTable(); switch (TextTabBar1.SelectItemIndex) { case 0: //趋势 按消费月份统计 TextTabBar2.Visible = false; table = ReimbursementInfo.GetSanalysis(TextTabBar1.SelectItemIndex, "xiaofei"); this.GridView1.Rows.Clear(); this.GridView1.DataSource = table; this.GridView1.DataBind(); //创建BarChart BarChart BarChart1 = new BarChart(); chartObj = BarChart1; BarChart1.Size = new System.Drawing.Size(450, 250); BarChart1.Location = new System.Drawing.Point(25, 63); BarChart1.XAxisLabelMember = "XMember"; BarChart1.YAxisValueMember = "YMember"; this.Controls.Add(BarChart1); if (table.Rows.Count > 0) { System.Data.DataTable matTable = new DataTable(); matTable.Columns.Add("XMember", typeof(string)); matTable.Columns.Add("YMember", typeof(int)); foreach (GridViewRow ROW in GridView1.Rows) { string XMember = ROW.Cell.Items["lblName"].Value.ToString(); decimal YMember = Convert.ToDecimal(ROW.Cell.Items["lblAmount"].Value); matTable.Rows.Add(XMember, YMember); } BarChart1.DataSource = matTable; BarChart1.DataBind(); } else { this.GridView1.Rows.Clear(); } break; case 1: //分布 按消费类型统计 TextTabBar2.Visible = true; TitleText = "消费记录趋势分析"; table = ReimbursementInfo.GetSanalysis(TextTabBar1.SelectItemIndex, "xiaofei"); this.GridView1.Rows.Clear(); this.GridView1.DataSource = table; this.GridView1.DataBind(); if (table.Rows.Count > 0) { switch (TextTabBar2.SelectItemIndex) { case 0: //创建BubbleChart BubbleChart BubbleChart1 = new BubbleChart(); chartObj = BubbleChart1; BubbleChart1.Size = new System.Drawing.Size(450, 225); BubbleChart1.Location = new System.Drawing.Point(25, 80); BubbleChart1.XAxisLabelMember = "XMember"; BubbleChart1.YAxisValueMember = "YMember"; this.Controls.Add(BubbleChart1); DataTable matTable = new DataTable(); matTable.Columns.Add("XMember", typeof(string)); matTable.Columns.Add("YMember", typeof(int)); foreach (GridViewRow ROW in GridView1.Rows) { string XMember = ROW.Cell.Items["lblName"].Value.ToString(); decimal YMember = Convert.ToDecimal(ROW.Cell.Items["lblAmount"].Value); matTable.Rows.Add(XMember, YMember); } BubbleChart1.DataSource = matTable; BubbleChart1.DataBind(); break; case 1: //创建ScatterChart ScatterChart ScatterChart1 = new ScatterChart(); chartObj = ScatterChart1; ScatterChart1.Size = new System.Drawing.Size(450, 225); ScatterChart1.Location = new System.Drawing.Point(25, 80); ScatterChart1.SeriesMember = "XMember"; ScatterChart1.SeriesShapMember = "Shape"; ScatterChart1.XAxisLabelMember = "XMember"; ScatterChart1.YAxisValueMember = "YMember"; Controls.Add(ScatterChart1); DataTable matTable2 = new DataTable(); matTable2.Columns.Add("XMember", typeof(string)); matTable2.Columns.Add("YMember", typeof(int)); matTable2.Columns.Add("Shape", typeof(int)); int Shape = 0; foreach (GridViewRow ROW in GridView1.Rows) { string XMember = ROW.Cell.Items["lblName"].Value.ToString(); decimal YMember = Convert.ToDecimal(ROW.Cell.Items["lblAmount"].Value); matTable2.Rows.Add(XMember, YMember, Shape); if (Shape <= 4) { Shape += 1; } else { Shape = 0; } } ScatterChart1.DataSource = matTable2; ScatterChart1.DataBind(); break; case 2: //创建RadarChart RadarChart RadarChart1 = new RadarChart(); chartObj = RadarChart1; RadarChart1.Size = new System.Drawing.Size(450, 225); RadarChart1.Location = new System.Drawing.Point(25, 80); RadarChart1.SeriesMember = "XMember"; RadarChart1.XAxisLabelMember = "XMember"; RadarChart1.YAxisValueMember = "YMember"; this.Controls.Add(RadarChart1); DataTable matTable3 = new DataTable(); matTable3.Columns.Add("XMember", typeof(string)); matTable3.Columns.Add("YMember", typeof(int)); foreach (GridViewRow ROW in GridView1.Rows) { string XMember = ROW.Cell.Items["lblName"].Value.ToString(); decimal YMember = Convert.ToDecimal(ROW.Cell.Items["lblAmount"].Value); matTable3.Rows.Add(XMember, YMember); } RadarChart1.DataSource = matTable3; RadarChart1.DataBind(); break; } } else { this.GridView1.Rows.Clear(); } break; } break; case 2: switch (TextTabBar1.SelectItemIndex) { case 0: TextTabBar2.Visible = false; //趋势 按报销月份统计 table = ReimbursementInfo.GetSanalysis(TextTabBar1.SelectItemIndex, "baoxiao"); this.GridView1.Rows.Clear(); this.GridView1.DataSource = table; this.GridView1.DataBind(); //创建LineChart LineChart LineChart1 = new LineChart(); chartObj = LineChart1; LineChart1.Size = new System.Drawing.Size(450, 250); LineChart1.Location = new System.Drawing.Point(25, 63); LineChart1.XAxisLabelMember = "XMember"; LineChart1.YAxisValueMember = "YMember"; this.Controls.Add(LineChart1); if (table.Rows.Count > 0) { DataTable matTable = new DataTable(); matTable.Columns.Add("XMember", typeof(string)); matTable.Columns.Add("YMember", typeof(int)); foreach (GridViewRow ROW in GridView1.Rows) { string XMember = ROW.Cell.Items["lblName"].Value.ToString(); decimal YMember = Convert.ToDecimal(ROW.Cell.Items["lblAmount"].Value); matTable.Rows.Add(XMember, YMember); } LineChart1.DataSource = matTable; LineChart1.DataBind(); } else { this.GridView1.Rows.Clear(); } break; case 1: //分布 按报销状态统计 table = ReimbursementInfo.GetSanalysis(TextTabBar1.SelectItemIndex, "baoxiao"); this.GridView1.Rows.Clear(); this.GridView1.DataSource = table; this.GridView1.DataBind(); //创建PieChart PieChart PieChart1 = new PieChart(); chartObj = PieChart1; PieChart1.Size = new System.Drawing.Size(450, 250); PieChart1.Location = new System.Drawing.Point(25, 63); PieChart1.XAxisLabelMember = "XMember"; PieChart1.YAxisValueMember = "YMember"; this.Controls.Add(PieChart1); //报销状态分布统计表 if (table.Rows.Count > 0) { DataTable matTable = new DataTable(); matTable.Columns.Add("XMember", typeof(string)); matTable.Columns.Add("YMember", typeof(int)); foreach (GridViewRow ROW in GridView1.Rows) { string XMember = ROW.Cell.Items["lblName"].Value.ToString(); decimal YMember = Convert.ToDecimal(ROW.Cell.Items["lblAmount"].Value); matTable.Rows.Add(XMember, YMember); } PieChart1.DataSource = matTable; PieChart1.DataBind(); } else { this.GridView1.Rows.Clear(); } break; } break; } } catch (Exception ex) { MessageBox.Show(ex.Message); } }