首頁 >後端開發 >C++ >如何產生完整的日期清單以繪製不同範圍的資料?

如何產生完整的日期清單以繪製不同範圍的資料?

Mary-Kate Olsen
Mary-Kate Olsen原創
2025-01-10 21:17:121057瀏覽

How to Generate a Complete Date List for Graphing Data with Varying Ranges?

為圖表產生不同資料範圍的日期清單

當在日期軸上繪製多個序列的圖表時,經常會遇到不同序列在指定日期範圍內具有不同資料範圍的情況。這種差異可能會歪曲圖表。

為了解決這個問題,我們可以根據整體日期範圍產生一個完整的日期列表,並相應地填充數據,用零填充缺失值。以下是實現此目的的兩種方法:

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn