Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menjana Senarai Tarikh Lengkap untuk Menggraf Data dengan Julat Berbeza-beza?

Bagaimana untuk Menjana Senarai Tarikh Lengkap untuk Menggraf Data dengan Julat Berbeza-beza?

Mary-Kate Olsen
Mary-Kate Olsenasal
2025-01-10 21:17:121057semak imbas

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

Jana senarai tarikh dengan julat data yang berbeza untuk carta

Apabila memplot carta berbilang siri pada paksi tarikh, selalunya ditemui siri yang berbeza mempunyai julat data yang berbeza dalam julat tarikh yang ditentukan. Perbezaan ini boleh memesongkan carta.

Untuk menyelesaikan masalah ini, kami boleh menjana senarai lengkap tarikh berdasarkan julat tarikh keseluruhan dan mengisi data dengan sewajarnya, mengisi nilai yang hilang dengan sifar. Berikut ialah dua cara untuk melakukannya:

1. Gunakan LINQ:

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

2. Gunakan Untuk gelung:

<code class="language-csharp">var dates = new List<DateTime>();

for (var dt = start; dt <= end; dt = dt.AddDays(1))
{
    dates.Add(dt);
}</code>

Untuk mengisi nilai yang tiada, anda boleh menghitung semua tarikh dalam julat penuh dan, jika ada, dapatkan semula nilai untuk setiap tarikh daripada jujukan, jika tidak, gunakan nilai lalai. Contohnya:

<code class="language-csharp">var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsKey(date) 
                                               ? timeSeries[date] : defaultValue);</code>

Atas ialah kandungan terperinci Bagaimana untuk Menjana Senarai Tarikh Lengkap untuk Menggraf Data dengan Julat Berbeza-beza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn