From c4588469905e75d4fbd0a0b8c1065e232f40b378 Mon Sep 17 00:00:00 2001 From: monitor1394 Date: Sun, 14 Jul 2024 15:23:13 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96`Axis`=E7=9A=84`Time`?= =?UTF-8?q?=E6=97=B6=E9=97=B4=E8=BD=B4=E7=9A=84`splitNumber`=E4=B8=BA0?= =?UTF-8?q?=E6=97=B6=E7=9A=84=E8=A1=A8=E7=8E=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Documentation~/zh/changelog.md | 1 + Runtime/Utilities/DateTimeUtil.cs | 5 ++--- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Documentation~/zh/changelog.md b/Documentation~/zh/changelog.md index c00da3c6..a54e4067 100644 --- a/Documentation~/zh/changelog.md +++ b/Documentation~/zh/changelog.md @@ -75,6 +75,7 @@ slug: /changelog ## master +* (2024.07.14) 优化`Axis`的`Time`时间轴的`splitNumber`为0时的表现 * (2024.07.14) 优化`Axis`的`Time`时间轴的滚动表现 * (2024.07.12) 优化`Label`显示体验 * (2024.07.06) 修复`Chart`在动态创建时背景没有自适应的问题 (#323) diff --git a/Runtime/Utilities/DateTimeUtil.cs b/Runtime/Utilities/DateTimeUtil.cs index 3f090be2..d785daac 100644 --- a/Runtime/Utilities/DateTimeUtil.cs +++ b/Runtime/Utilities/DateTimeUtil.cs @@ -107,13 +107,12 @@ namespace XCharts.Runtime list.Clear(); var range = maxTimestamp - minTimestamp; if (range <= 0) return 0; - if (splitNumber <= 0) splitNumber = 1; var dtMin = DateTimeUtil.GetDateTime(minTimestamp); var dtMax = DateTimeUtil.GetDateTime(maxTimestamp); int tick = 0; if (range >= ONE_YEAR * MIN_TIME_SPLIT_NUMBER) { - var num = Math.Max(range / (splitNumber * ONE_YEAR), 1); + var num = splitNumber <= 0 ? 1 : Math.Max(range / (splitNumber * ONE_YEAR), 1); var dtStart = (firstValue == 0 || secondValue == 0) ? new DateTime(dtMin.Year + 1, 1, 1) : (minTimestamp > firstValue ? DateTimeUtil.GetDateTime(secondValue) : DateTimeUtil.GetDateTime(firstValue)); tick = num * 365 * 24 * 3600; @@ -125,7 +124,7 @@ namespace XCharts.Runtime } else if (range >= ONE_MONTH * MIN_TIME_SPLIT_NUMBER) { - var num = Math.Max(range / (splitNumber * ONE_MONTH), 1); + var num = splitNumber <= 0 ? 1 : Math.Max(range / (splitNumber * ONE_MONTH), 1); var dtStart = (firstValue == 0 || secondValue == 0) ? (new DateTime(dtMin.Year, dtMin.Month, 1).AddMonths(1)) : (minTimestamp > firstValue ? DateTimeUtil.GetDateTime(secondValue) : DateTimeUtil.GetDateTime(firstValue)); tick = num * 30 * 24 * 3600;