ss
This commit is contained in:
parent
02cf22cae4
commit
c3849bf627
@ -14,16 +14,23 @@ namespace YD_AllHeartRates.Api.Services.Impl
|
||||
|
||||
public static ChartDataDto BuildHeartRateTrend(List<HeartRateData> data)
|
||||
{
|
||||
if (data == null || data.Count == 0)
|
||||
return new ChartDataDto();
|
||||
|
||||
// 按小时分组计算平均值(四舍五入)
|
||||
var hourlyAvg = data
|
||||
.GroupBy(x => x.ScoreTime.Hour)
|
||||
.OrderBy(g => g.Key)
|
||||
.ToDictionary(g => g.Key, g => (int)Math.Round(g.Average(x => x.Value)));
|
||||
|
||||
// 获取最小和最大小时
|
||||
int minHour = data.Min(x => x.ScoreTime.Hour);
|
||||
int maxHour = data.Max(x => x.ScoreTime.Hour);
|
||||
|
||||
var chart = new ChartDataDto();
|
||||
foreach (var hour in hourlyAvg.Keys)
|
||||
for (int hour = minHour; hour <= maxHour; hour++)
|
||||
{
|
||||
chart.AxisX.Add($"{hour:00}:00");
|
||||
chart.AxisY.Add(hourlyAvg[hour]);
|
||||
chart.AxisY.Add(hourlyAvg.TryGetValue(hour, out int val) ? val : 0);
|
||||
}
|
||||
|
||||
return chart;
|
||||
|
Loading…
x
Reference in New Issue
Block a user