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); }
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); }
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); }
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; }
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); }
/// <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; }
/// <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); } }