ホームページ >バックエンド開発 >C++ >複数シリーズのグラフ作成のための包括的な日付範囲配列を生成するにはどうすればよいですか?

複数シリーズのグラフ作成のための包括的な日付範囲配列を生成するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2025-01-10 21:06:46728ブラウズ

How to Generate a Comprehensive Date Range Array for Multi-Series Graphing?

2 つの日付の間の日付の配列またはリストを生成します

問題: 日付を X 軸として使用して複数系列のグラフを生成する場合、すべての系列に同じ日付範囲のデータが含まれていないと問題が発生する可能性があります。この違いによりチャートが歪められ、正確な洞察を得ることが困難になる可能性があります。

解決策: この問題を解決するには、指定した日付範囲内のすべての日付を含む配列またはリストを作成します。次の 2 つの方法を使用できます:

LINQ:

<code class="language-csharp">Enumerable.Range(0, 1 + end.Subtract(start).Days)
          .Select(offset => start.AddDays(offset))
          .ToArray();</code>

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 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。