為圖表產生不同資料範圍的日期清單
當在日期軸上繪製多個序列的圖表時,經常會遇到不同序列在指定日期範圍內具有不同資料範圍的情況。這種差異可能會歪曲圖表。
為了解決這個問題,我們可以根據整體日期範圍產生一個完整的日期列表,並相應地填充數據,用零填充缺失值。以下是實現此目的的兩種方法:
1. 使用LINQ:
<code class="language-csharp">var dates = Enumerable.Range(0, 1 + end.Subtract(start).Days) .Select(offset => start.AddDays(offset)) .ToArray();</code>
2. 使用For循環:
<code class="language-csharp">var dates = new List<DateTime>(); for (var dt = start; dt <= end; dt = dt.AddDays(1)) { dates.Add(dt); }</code>
為了填滿缺失值,您可以列舉完整範圍內的所有日期,如果存在,則從序列中檢索每個日期的值;否則,請使用預設值。例如:
<code class="language-csharp">var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsKey(date) ? timeSeries[date] : defaultValue);</code>
以上是如何產生完整的日期清單以繪製不同範圍的資料?的詳細內容。更多資訊請關注PHP中文網其他相關文章!