diff --git a/Scripts/UI/BarChart.cs b/Scripts/UI/BarChart.cs index 021ee454..29ff5d8f 100644 --- a/Scripts/UI/BarChart.cs +++ b/Scripts/UI/BarChart.cs @@ -33,6 +33,7 @@ namespace XCharts protected override void DrawChart(VertexHelper vh) { base.DrawChart(vh); + if (!m_CheckMinMaxValue) return; bool yCategory = m_YAxises[0].IsCategory() || m_YAxises[1].IsCategory(); m_Series.GetStackSeries(ref m_StackSeries); int seriesCount = m_StackSeries.Count; diff --git a/Scripts/UI/Component/Series.cs b/Scripts/UI/Component/Series.cs index 20f3a3ca..5f017ef4 100644 --- a/Scripts/UI/Component/Series.cs +++ b/Scripts/UI/Component/Series.cs @@ -638,7 +638,7 @@ namespace XCharts if (max == int.MinValue && min == int.MaxValue) { minVaule = 0; - maxValue = 90; + maxValue = 0; } else { diff --git a/Scripts/UI/Internal/CoordinateChart.cs b/Scripts/UI/Internal/CoordinateChart.cs index 685b6b20..d5512ffa 100644 --- a/Scripts/UI/Internal/CoordinateChart.cs +++ b/Scripts/UI/Internal/CoordinateChart.cs @@ -27,10 +27,12 @@ namespace XCharts private Grid m_CheckCoordinate = Grid.defaultGrid; private bool m_XAxisChanged; private bool m_YAxisChanged; + protected bool m_CheckMinMaxValue; protected override void Awake() { base.Awake(); + m_CheckMinMaxValue = false; InitDefaultAxises(); CheckMinMaxValue(); InitDataZoom(); @@ -343,6 +345,8 @@ namespace XCharts m_YAxises.Add(axis1); m_YAxises.Add(axis2); } + foreach (var axis in m_XAxises) axis.minValue = axis.maxValue = 0; + foreach (var axis in m_YAxises) axis.minValue = axis.maxValue = 0; } private void InitAxisY() @@ -355,8 +359,6 @@ namespace XCharts private void InitYAxis(int yAxisIndex, YAxis yAxis) { - yAxis.minValue = 0; - yAxis.maxValue = 100; yAxis.axisLabelTextList.Clear(); string objName = yAxisIndex > 0 ? s_DefaultAxisY + "2" : s_DefaultAxisY; @@ -366,7 +368,7 @@ namespace XCharts axisObj.transform.localPosition = Vector3.zero; axisObj.SetActive(yAxis.show && yAxis.axisLabel.show); ChartHelper.HideAllObject(axisObj); - + if (yAxis.minValue == 0 && yAxis.maxValue == 0) return; var labelColor = yAxis.axisLabel.color == Color.clear ? (Color)m_ThemeInfo.axisTextColor : yAxis.axisLabel.color; @@ -462,8 +464,6 @@ namespace XCharts private void InitXAxis(int xAxisIndex, XAxis xAxis) { - xAxis.minValue = 0; - xAxis.maxValue = 100; xAxis.axisLabelTextList.Clear(); string objName = xAxisIndex > 0 ? ChartHelper.Cancat(s_DefaultAxisX, 2) : s_DefaultAxisX; @@ -472,6 +472,7 @@ namespace XCharts axisObj.transform.localPosition = Vector3.zero; axisObj.SetActive(xAxis.show && xAxis.axisLabel.show); ChartHelper.HideAllObject(axisObj); + if (xAxis.minValue == 0 && xAxis.maxValue == 0) return; var labelColor = xAxis.axisLabel.color == Color.clear ? (Color)m_ThemeInfo.axisTextColor : xAxis.axisLabel.color; @@ -666,7 +667,7 @@ namespace XCharts { if (axis.IsCategory() || !axis.show) return; int tempMinValue = 0; - int tempMaxValue = 100; + int tempMaxValue = 0; if (m_XAxises[axisIndex].IsValue() && m_YAxises[axisIndex].IsValue()) { if (axis is XAxis) @@ -685,6 +686,8 @@ namespace XCharts axis.AdjustMinMaxValue(ref tempMinValue, ref tempMaxValue); if (tempMinValue != axis.minValue || tempMaxValue != axis.maxValue) { + m_CheckMinMaxValue = true; + axis.minValue = tempMinValue; axis.maxValue = tempMaxValue; axis.zeroXOffset = 0; diff --git a/Scripts/UI/LineChart.cs b/Scripts/UI/LineChart.cs index 576cce45..a2e3292c 100644 --- a/Scripts/UI/LineChart.cs +++ b/Scripts/UI/LineChart.cs @@ -31,6 +31,7 @@ namespace XCharts protected override void DrawChart(VertexHelper vh) { base.DrawChart(vh); + if (!m_CheckMinMaxValue) return; if (m_YAxises[0].type == Axis.AxisType.Category || m_YAxises[1].type == Axis.AxisType.Category) { diff --git a/Scripts/UI/ScatterChart.cs b/Scripts/UI/ScatterChart.cs index 038be1fc..e6daae31 100644 --- a/Scripts/UI/ScatterChart.cs +++ b/Scripts/UI/ScatterChart.cs @@ -61,6 +61,7 @@ namespace XCharts protected override void DrawChart(VertexHelper vh) { base.DrawChart(vh); + if (!m_CheckMinMaxValue) return; HashSet serieNameSet = new HashSet(); int serieNameCount = -1; for (int i = 0; i < m_Series.Count; i++)