首页 >后端开发 >C++ >如何生成完整的日期列表以绘制不同范围的数据?

如何生成完整的日期列表以绘制不同范围的数据?

Mary-Kate Olsen
Mary-Kate Olsen原创
2025-01-10 21:17:121005浏览

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