Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Menjana Tatasusunan Julat Tarikh Komprehensif untuk Graf Berbilang Siri?

Bagaimana untuk Menjana Tatasusunan Julat Tarikh Komprehensif untuk Graf Berbilang Siri?

Linda Hamilton
Linda Hamiltonasal
2025-01-10 21:06:46670semak imbas

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

Jana tatasusunan atau senarai tarikh antara dua tarikh

Isu: Apabila menjana carta berbilang siri menggunakan tarikh sebagai paksi X, anda mungkin menghadapi masalah jika tidak semua siri mempunyai data dalam julat tarikh yang sama. Perbezaan ini boleh memesongkan carta dan menyukarkan untuk mendapatkan cerapan yang tepat.

Penyelesaian: Untuk menyelesaikan masalah ini, anda boleh membuat tatasusunan atau senarai yang mengandungi semua tarikh dalam julat tarikh yang ditentukan. Anda boleh menggunakan dua kaedah berikut:

LINQ:

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

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>

Isi nilai yang hilang dengan nilai lalai:

Setelah anda mempunyai senarai tarikh, anda boleh mengendalikan titik data yang hilang dengan mengisinya dengan nilai lalai. Anda boleh mencapai ini dengan menghitung semua tarikh dalam julat tarikh penuh dan memilih nilai daripada siri jika ada, jika tidak memilih nilai lalai. Contohnya:

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

Dengan menggunakan teknik di atas, anda boleh membuat senarai tarikh yang komprehensif untuk carta anda dan memastikan titik data dalam semua siri dijajarkan dengan betul walaupun beberapa siri mungkin tiada data.

Atas ialah kandungan terperinci Bagaimana untuk Menjana Tatasusunan Julat Tarikh Komprehensif untuk Graf Berbilang Siri?. 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