mirror of
https://github.com/XCharts-Team/XCharts.git
synced 2026-05-31 05:48:45 +00:00
优化Axis的Time时间轴的splitNumber为0时的表现
This commit is contained in:
@@ -75,6 +75,7 @@ slug: /changelog
|
|||||||
|
|
||||||
## master
|
## master
|
||||||
|
|
||||||
|
* (2024.07.14) 优化`Axis`的`Time`时间轴的`splitNumber`为0时的表现
|
||||||
* (2024.07.14) 优化`Axis`的`Time`时间轴的滚动表现
|
* (2024.07.14) 优化`Axis`的`Time`时间轴的滚动表现
|
||||||
* (2024.07.12) 优化`Label`显示体验
|
* (2024.07.12) 优化`Label`显示体验
|
||||||
* (2024.07.06) 修复`Chart`在动态创建时背景没有自适应的问题 (#323)
|
* (2024.07.06) 修复`Chart`在动态创建时背景没有自适应的问题 (#323)
|
||||||
|
|||||||
@@ -107,13 +107,12 @@ namespace XCharts.Runtime
|
|||||||
list.Clear();
|
list.Clear();
|
||||||
var range = maxTimestamp - minTimestamp;
|
var range = maxTimestamp - minTimestamp;
|
||||||
if (range <= 0) return 0;
|
if (range <= 0) return 0;
|
||||||
if (splitNumber <= 0) splitNumber = 1;
|
|
||||||
var dtMin = DateTimeUtil.GetDateTime(minTimestamp);
|
var dtMin = DateTimeUtil.GetDateTime(minTimestamp);
|
||||||
var dtMax = DateTimeUtil.GetDateTime(maxTimestamp);
|
var dtMax = DateTimeUtil.GetDateTime(maxTimestamp);
|
||||||
int tick = 0;
|
int tick = 0;
|
||||||
if (range >= ONE_YEAR * MIN_TIME_SPLIT_NUMBER)
|
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) :
|
var dtStart = (firstValue == 0 || secondValue == 0) ? new DateTime(dtMin.Year + 1, 1, 1) :
|
||||||
(minTimestamp > firstValue ? DateTimeUtil.GetDateTime(secondValue) : DateTimeUtil.GetDateTime(firstValue));
|
(minTimestamp > firstValue ? DateTimeUtil.GetDateTime(secondValue) : DateTimeUtil.GetDateTime(firstValue));
|
||||||
tick = num * 365 * 24 * 3600;
|
tick = num * 365 * 24 * 3600;
|
||||||
@@ -125,7 +124,7 @@ namespace XCharts.Runtime
|
|||||||
}
|
}
|
||||||
else if (range >= ONE_MONTH * MIN_TIME_SPLIT_NUMBER)
|
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)) :
|
var dtStart = (firstValue == 0 || secondValue == 0) ? (new DateTime(dtMin.Year, dtMin.Month, 1).AddMonths(1)) :
|
||||||
(minTimestamp > firstValue ? DateTimeUtil.GetDateTime(secondValue) : DateTimeUtil.GetDateTime(firstValue));
|
(minTimestamp > firstValue ? DateTimeUtil.GetDateTime(secondValue) : DateTimeUtil.GetDateTime(firstValue));
|
||||||
tick = num * 30 * 24 * 3600;
|
tick = num * 30 * 24 * 3600;
|
||||||
|
|||||||
Reference in New Issue
Block a user