コード例 #1
0
        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
            });
        }
コード例 #2
0
 void Awake()
 {
     chart = gameObject.GetComponent <ScatterChart>();
     if (chart == null)
     {
         return;
     }
     chart.series.SetSerieSymbolSizeCallback(SymbolSize, SymbolSelectedSize);
 }
コード例 #3
0
 private void Redraw(object sender, RoutedEventArgs e)
 {
     LineChart.ClearAndPlot();
     BarChart.ClearAndPlot();
     PieChart.ClearAndPlot();
     PieChart1.ClearAndPlot();
     StackedBarChart.ClearAndPlot();
     ScatterChart.ClearAndPlot();
     RadarChart.ClearAndPlot();
 }
コード例 #4
0
 void Awake()
 {
     chart = gameObject.GetComponent <ScatterChart>();
     if (chart == null)
     {
         return;
     }
     foreach (var serie in chart.series)
     {
         serie.symbol.sizeFunction         = SymbolSize;
         serie.symbol.selectedSizeFunction = SymbolSelectedSize;
     }
 }
コード例 #5
0
        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;
            }
        }
コード例 #6
0
ファイル: ChartElementProcessor.cs プロジェクト: mckaren/pete
        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++;
                }
            }
        }
コード例 #7
0
        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
            });
        }
コード例 #8
0
ファイル: ChartElementProcessor.cs プロジェクト: mckaren/pete
        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);
                }
            }
        }
コード例 #9
0
        /// <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);
            }
        }