Maison >développement back-end >C++ >Comment générer une liste de dates complète pour représenter graphiquement des données avec des plages variables ?
Générer une liste de dates avec différentes plages de données pour le graphique
Lors du tracé d'un graphique de plusieurs séries sur l'axe des dates, il arrive souvent que différentes séries aient des plages de données différentes dans la plage de dates spécifiée. Cette différence peut fausser le graphique.
Pour résoudre ce problème, nous pouvons générer une liste complète de dates basées sur la plage de dates globale et remplir les données en conséquence, en remplissant les valeurs manquantes avec des zéros. Voici deux façons de procéder :
1. Utilisez LINQ :
<code class="language-csharp">var dates = Enumerable.Range(0, 1 + end.Subtract(start).Days) .Select(offset => start.AddDays(offset)) .ToArray();</code>
2. Utiliser la boucle For :
<code class="language-csharp">var dates = new List<DateTime>(); for (var dt = start; dt <= end; dt = dt.AddDays(1)) { dates.Add(dt); }</code>
Pour remplir les valeurs manquantes, vous pouvez énumérer toutes les dates dans la plage complète et, si elle est présente, récupérer la valeur de chaque date de la séquence ; sinon, utiliser la valeur par défaut. Par exemple :
<code class="language-csharp">var paddedSeries = fullDates.ToDictionary(date => date, date => timeSeries.ContainsKey(date) ? timeSeries[date] : defaultValue);</code>
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!