Example #1
0
        private void uiSymbolButton1_Click(object sender, System.EventArgs e)
        {
            UIBarOption option = new UIBarOption();

            option.Title         = new UITitle();
            option.Title.Text    = "SunnyUI";
            option.Title.SubText = "BarChart";

            //设置Legend
            option.Legend        = new UILegend();
            option.Legend.Orient = UIOrient.Horizontal;
            option.Legend.Top    = UITopAlignment.Top;
            option.Legend.Left   = UILeftAlignment.Left;
            option.Legend.AddData("Bar1");
            option.Legend.AddData("Bar2");

            var series = new UIBarSeries();

            series.Name = "Bar1";
            series.AddData(11);
            series.AddData(15);
            series.AddData(12);
            series.AddData(14);
            series.AddData(13);
            option.Series.Add(series);

            series = new UIBarSeries();

            series.Name = "Bar2";
            series.AddData(-22);
            series.AddData(-28);
            series.AddData(-25);
            series.AddData(-23);
            series.AddData(-24);
            option.Series.Add(series);

            option.XAxis.Data.Add("Mon");
            option.XAxis.Data.Add("Tue");
            option.XAxis.Data.Add("Wed");
            option.XAxis.Data.Add("Thu");
            option.XAxis.Data.Add("Fri");

            option.ToolTip     = new UIBarToolTip();
            option.YAxis.Scale = true;

            option.XAxis.Name = "日期";
            option.YAxis.Name = "数值";

            option.YAxisScaleLines.Add(new UIScaleLine()
            {
                Color = Color.Red, Name = "上限", Value = 12
            });
            option.YAxisScaleLines.Add(new UIScaleLine()
            {
                Color = Color.Gold, Name = "下限", Value = -20
            });

            BarChart.SetOption(option);
        }
Example #2
0
        private void uiSymbolButton2_Click(object sender, System.EventArgs e)
        {
            UIBarOption option = new UIBarOption();

            option.Title         = new UITitle();
            option.Title.Text    = "SunnyUI";
            option.Title.SubText = "BarChartEx";

            //设置Legend
            option.Legend        = new UILegend();
            option.Legend.Orient = UIOrient.Horizontal;
            option.Legend.Top    = UITopAlignment.Top;
            option.Legend.Left   = UILeftAlignment.Left;
            option.Legend.AddData("Bar1");
            option.Legend.AddData("Bar2");
            option.Legend.AddData("Bar3");

            var series = new UIBarSeries();

            series.ShowValue         = true;
            series.ShowValueFontSize = 6f;
            series.MaxWidth          = 22;
            series.Name = "Bar1";
            series.AddData(1);
            option.Series.Add(series);

            series                   = new UIBarSeries();
            series.ShowValue         = true;
            series.ShowValueFontSize = 10.5f;
            series.MaxWidth          = 22;
            series.Name              = "Bar2";
            series.AddData(2);
            series.AddData(3);
            option.Series.Add(series);

            series                   = new UIBarSeries();
            series.ShowValue         = true;
            series.ShowValueFontSize = 16f;
            series.MaxWidth          = 22;
            series.Name              = "Bar3";
            series.AddData(4);
            series.AddData(5);
            series.AddData(6);
            option.Series.Add(series);

            option.XAxis.Data.Add("Mon");
            option.XAxis.Data.Add("Tue");
            option.XAxis.Data.Add("Wed");
            option.XAxis.Data.Add("Thu");
            option.XAxis.Data.Add("Fri");

            option.ToolTip = new UIBarToolTip();
            option.ToolTip.AxisPointer.Type = UIAxisPointerType.Shadow;
            option.AutoSizeBarsCompact      = true;
            option.AutoSizeBarsCompactValue = 0.1f;
            BarChart.SetOption(option);
        }
Example #3
0
        private void LoadChart(List <GeoPoint> points)
        {
            var charDatas = (from p in points
                             orderby p.Value
                             let name = ValueToName(p.Value)
                                        group p by name into g
                                        select new
            {
                Name = g.Key,
                Count = g.Count()
            }).ToList();
            UIBarOption option = new UIBarOption();

            option.Title      = new UITitle();
            option.Title.Text = "阶段统计";

            var series = new UIBarSeries();

            series.Name = "Bar1";
            foreach (var item in charDatas)
            {
                series.AddData(item.Count);
            }
            option.Series.Add(series);


            foreach (var item in charDatas)
            {
                option.XAxis.Data.Add(item.Name);
            }

            option.ToolTip.Visible = true;
            option.YAxis.Scale     = true;

            option.XAxis.Name = "阶段";
            option.YAxis.Name = "计数";

            this.uiBarChart1.SetOption(option);
        }
Example #4
0
        private void uiSymbolButton1_Click(object sender, System.EventArgs e)
        {
            UIBarOption option = new UIBarOption();

            option.Title         = new UITitle();
            option.Title.Text    = "SunnyUI";
            option.Title.SubText = "BarChart";

            //设置Legend
            option.Legend        = new UILegend();
            option.Legend.Orient = UIOrient.Horizontal;
            option.Legend.Top    = UITopAlignment.Top;
            option.Legend.Left   = UILeftAlignment.Left;
            option.Legend.AddData("Bar1");
            option.Legend.AddData("Bar2");

            var series = new UIBarSeries();

            series.Name = "Bar1";
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            option.Series.Add(series);

            series      = new UIBarSeries();
            series.Name = "Bar2";
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            series.AddData(-1.1);
            option.Series.Add(series);

            option.XAxis.Data.Add("D1");
            option.XAxis.Data.Add("D2");
            option.XAxis.Data.Add("D3");
            option.XAxis.Data.Add("D4");
            option.XAxis.Data.Add("D5");
            option.XAxis.Data.Add("D6");
            option.XAxis.Data.Add("D7");
            option.XAxis.Data.Add("D8");

            option.ToolTip.Visible = true;
            option.YAxis.Scale     = true;

            option.XAxis.Name = "日期";
            option.YAxis.Name = "数值";
            option.YAxis.AxisLabel.DecimalCount = 1;
            option.YAxis.AxisLabel.AutoFormat   = false;

            option.YAxisScaleLines.Add(new UIScaleLine()
            {
                Color = Color.Red, Name = "上限", Value = 12
            });
            option.YAxisScaleLines.Add(new UIScaleLine()
            {
                Color = Color.Gold, Name = "下限", Value = -20
            });

            option.ToolTip.AxisPointer.Type = UIAxisPointerType.Shadow;

            option.ShowValue = true;

            BarChart.SetOption(option);

            uiSymbolButton2.Enabled = true;
        }
Example #5
0
        private void uiSymbolButton1_Click(object sender, System.EventArgs e)
        {
            UIBarOption option = new UIBarOption();

            option.Grid.Bottom = 65;

            option.Title         = new UITitle();
            option.Title.Text    = "SunnyUI";
            option.Title.SubText = "BarChartEx";

            //设置Legend
            option.Legend        = new UILegend();
            option.Legend.Orient = UIOrient.Horizontal;
            option.Legend.Top    = UITopAlignment.Top;
            option.Legend.Left   = UILeftAlignment.Left;
            option.Legend.AddData("Bar1");
            option.Legend.AddData("Bar2");
            option.Legend.AddData("Bar3");

            var series = new UIBarSeries();

            series.Name        = "Bar1";
            series.ShowBarName = true;
            series.ShowValue   = true;
            series.AddData("通道1", 1.1);
            series.AddData("通道2", 1.5);
            option.Series.Add(series);

            series             = new UIBarSeries();
            series.Name        = "Bar2";
            series.ShowBarName = true;
            series.ShowValue   = true;
            series.AddData("通道1", 2.2);
            series.AddData("通道2", 2.8);
            series.AddData("通道3", 2.5);
            option.Series.Add(series);

            series             = new UIBarSeries();
            series.Name        = "Bar3";
            series.ShowBarName = true;
            series.ShowValue   = true;
            series.AddData("通道1", 0.7);
            option.Series.Add(series);

            option.XAxis.Data.Add("Mon");
            option.XAxis.Data.Add("Tue");
            option.XAxis.Data.Add("Wed");
            option.XAxis.Data.Add("Thu");
            option.XAxis.Data.Add("Fri");

            option.ToolTip.Visible = true;
            option.YAxis.Scale     = true;

            option.XAxis.Name = "";
            option.YAxis.Name = "数值";

            option.XAxis.AxisTick.Distance = 14;
            option.XAxis.AxisLabel.Angle   = 90;

            option.FixedSeriesCount         = 3;
            option.AutoSizeBars             = true;
            option.AutoSizeBarsCompact      = true;
            option.AutoSizeBarsCompactValue = 0.8f;

            option.YAxisScaleLines.Add(new UIScaleLine()
            {
                Color = Color.Red, Name = "上限", Value = 12
            });
            option.YAxisScaleLines.Add(new UIScaleLine()
            {
                Color = Color.Gold, Name = "下限", Value = -20
            });

            option.ToolTip.AxisPointer.Type = UIAxisPointerType.Shadow;
            BarChart.SetOption(option);
        }
Example #6
0
        /// <summary>
        /// 当天数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void uiButton_today_Click(object sender, EventArgs e)
        {
            //初始化Option
            UIBarOption option = new UIBarOption();

            option.Title         = new UITitle();
            option.Title.Text    = "今日数据";
            option.Title.SubText = "BarChart";

            //添加数据
            int MaxCount = int.MinValue;
            int MinCount = int.MaxValue;

            var series = new UIBarSeries();

            series.Name = "Today";
            foreach (Key_Today key in KeyData_Today.todayData.KeyDatas)
            {
                //判断是否跳过数据(不在上下限之内或者被忽略)
                if (!IsInRange(key.Key_count) || key.IsIgnore)
                {
                    continue;
                }
                //获取最大最小数据
                MaxCount = MaxCount > key.Key_count ? MaxCount : key.Key_count;
                MinCount = MinCount < key.Key_count ? MinCount : key.Key_count;
                //获取常规数据
                series.AddData(key.Key_count);
                option.XAxis.Data.Add(key.Key_name);
            }
            option.Series.Add(series);
            //添加最大最小数据线
            if (MaxCount != int.MinValue)
            {
                option.YAxisScaleLines.Add(new UIScaleLine()
                {
                    Color = Color.Red, Name = "最大为" + MaxCount, Value = MaxCount
                });
            }
            if (MinCount != int.MaxValue)
            {
                option.YAxisScaleLines.Add(new UIScaleLine()
                {
                    Color = Color.Blue, Name = "最小为" + MinCount, Value = MinCount, Left = UILeftAlignment.Right
                });
            }

            //x轴上不显示标签
            option.XAxis.AxisLabel.Show = false;
            //显示tip
            option.ToolTip = new UIBarToolTip();
            //其他设置
            option.YAxis.Scale = true;
            option.XAxis.Name  = "键名";
            option.YAxis.Name  = "数值";

            uiBarChart1.SetOption(option);

            //更新详细信息
            uiLabel_total.Text = "总数:" + KeyData_Today.todayData.Total;
            uiLabel_date.Text  = "日期:" + KeyData_Today.todayData.Date;
        }
Example #7
0
        /// <summary>
        /// 每日数据
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void uiButton_daily_Click(object sender, EventArgs e)
        {
            //添加数据
            int   MaxCount = int.MinValue;
            int   MinCount = int.MaxValue;
            Daily daily    = null;

            List <string> items = new List <string>()
            {
                "7日", "15日", "30日"
            };
            int index = 0;
            int day   = 0;

            if (this.ShowSelectDialog(ref index, items))
            {
                //根据index,确定day变量大小
                switch (index)
                {
                case 0:
                    day = 7;
                    break;

                case 1:
                    day = 15;
                    break;

                case 2:
                    day = 30;
                    break;
                }

                //初始化Option
                UIBarOption option = new UIBarOption();
                option.Title         = new UITitle();
                option.Title.Text    = "每日数据";
                option.Title.SubText = "BarChart";

                //添加数据
                var series = new UIBarSeries();
                series.Name = "Total";

                int x = -1;
                for (int i = -day; i <= -1; i++)
                {
                    x = KeyData_DailyData.FindByRange(DateTime.Now.AddDays(i).Date.ToString("yyyy-MM-dd"), day);
                    if (x != -1)
                    {
                        daily = KeyData_DailyData.dailyData.dailies[x];
                        //获取常规数据
                        series.AddData(daily.Total);
                        option.XAxis.Data.Add(daily.Date);
                        //获取最大最小数据
                        MaxCount = MaxCount > daily.Total ? MaxCount : daily.Total;
                        MinCount = MinCount < daily.Total ? MinCount : daily.Total;
                    }
                    else
                    {
                        //自动补完
                        series.AddData(0);
                        option.XAxis.Data.Add(DateTime.Now.AddDays(i).Date.ToString("yyyy-MM-dd"));
                    }
                }

                //更新数据面板
                uiLabel_total.Text = "总数:不做计算";
                uiLabel_date.Text  = "日期:" + DateTime.Now.AddDays(-day).Date.ToString("yyyy-MM-dd") + "至" + KeyData_DailyData.dailyData.EndDate;
                option.Series.Add(series);

                //添加最大最小数据线
                if (MaxCount != int.MinValue)
                {
                    option.YAxisScaleLines.Add(new UIScaleLine()
                    {
                        Color = Color.Red, Name = "最大为" + MaxCount, Value = MaxCount
                    });
                }
                if (MinCount != int.MaxValue)
                {
                    option.YAxisScaleLines.Add(new UIScaleLine()
                    {
                        Color = Color.Blue, Name = "最小为" + MinCount, Value = MinCount, Left = UILeftAlignment.Right
                    });
                }


                //x轴上不显示标签
                option.XAxis.AxisLabel.Show = false;
                //显示tip
                option.ToolTip = new UIBarToolTip();
                //其他设置
                option.YAxis.Scale = true;
                option.XAxis.Name  = "日期";
                option.YAxis.Name  = "数值";

                uiBarChart1.SetOption(option);
            }
        }