diff --git a/Bin/SunnyUI.Demo.exe b/Bin/SunnyUI.Demo.exe index fc62196c..e1de759e 100644 Binary files a/Bin/SunnyUI.Demo.exe and b/Bin/SunnyUI.Demo.exe differ diff --git a/Bin/SunnyUI.dll b/Bin/SunnyUI.dll index 1a60bf4c..9f79d611 100644 Binary files a/Bin/SunnyUI.dll and b/Bin/SunnyUI.dll differ diff --git a/SunnyUI.Demo/Charts/FBarChart.cs b/SunnyUI.Demo/Charts/FBarChart.cs index 1f1ac7a4..656f32f7 100644 --- a/SunnyUI.Demo/Charts/FBarChart.cs +++ b/SunnyUI.Demo/Charts/FBarChart.cs @@ -27,19 +27,19 @@ namespace Sunny.UI.Demo.Charts var series = new UIBarSeries(); series.Name = "Bar1"; series.AddData(1.1); - series.AddData(1.5); - series.AddData(1.2); - series.AddData(1.4); - series.AddData(1.3); + 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(-2.2); - series.AddData(-2.8); - series.AddData(-2.5); - series.AddData(-2.3); - series.AddData(-2.4); + 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("Mon"); diff --git a/SunnyUI/Charts/UIBarChart.cs b/SunnyUI/Charts/UIBarChart.cs index cc1d5fef..50b28f7b 100644 --- a/SunnyUI/Charts/UIBarChart.cs +++ b/SunnyUI/Charts/UIBarChart.cs @@ -139,11 +139,16 @@ namespace Sunny.UI if (!Option.YAxis.MaxAuto) max = Option.YAxis.Max; if (!Option.YAxis.MinAuto) min = Option.YAxis.Min; - if ((max - min).IsZero()) + if ((max - min).IsZero() && min.IsZero()) { max = 100; min = 0; } + else + { + if (max > 0) min = 0; + else max = 0; + } CalcDegreeScale(min, max, Option.YAxis.SplitNumber, out int start, out int end, out double interval, out int decimalCount); diff --git a/SunnyUI/Charts/UIBarChartEx.cs b/SunnyUI/Charts/UIBarChartEx.cs index 086c8ed2..7689347f 100644 --- a/SunnyUI/Charts/UIBarChartEx.cs +++ b/SunnyUI/Charts/UIBarChartEx.cs @@ -67,11 +67,16 @@ namespace Sunny.UI if (!Option.YAxis.MaxAuto) max = Option.YAxis.Max; if (!Option.YAxis.MinAuto) min = Option.YAxis.Min; - if ((max - min).IsZero()) + if ((max - min).IsZero() && min.IsZero()) { max = 100; min = 0; } + else + { + if (max > 0) min = 0; + else max = 0; + } CalcDegreeScale(min, max, Option.YAxis.SplitNumber, out int start, out int end, out double interval, out int decimalCount);