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
Lepaskan: 2025-01-10 21:06:46
asal
746 orang telah melayarinya

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:

Enumerable.Range(0, 1 + end.Subtract(start).Days)
          .Select(offset => start.AddDays(offset))
          .ToArray();
Salin selepas log masuk

Untuk gelung:

var dates = new List<DateTime>();

for (var dt = start; dt <= end; dt = dt.AddDays(1))
{
    dates.Add(dt);
}
Salin selepas log masuk

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:

var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsKey(date) ? timeSeries[date] : defaultValue);
Salin selepas log masuk

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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan