StatsWeekdayCongestion::StatsWeekdayCongestion(JourneyModel * journeys) :
journeys(journeys)
{
- title = "Congested days (cycles passed)";
+ title = "Congestion by day (cycles per hour)";
units = "";
labels = QStringList{"M", "T", "W", "Th", "F", "S", "Su"};
}
void StatsWeekdayCongestion::update() {
- quint32 passed[7];
+ double passed[7];
unsigned int count[7];
int pos;
foreach (Journey const &journey, journeys->getData()) {
QDate date = journey.getStartDate();
int dayofweek = date.dayOfWeek() - 1;
+ double duration = journey.getDuration() / (60.0 * 60.0);
if (dayofweek >= 0) {
- passed[dayofweek] += journey.getOvertook() + journey.getOvertakenBy();
+ passed[dayofweek] += (journey.getOvertook() + journey.getOvertakenBy()) / duration;
count[dayofweek]++;
}
}
values << result;
}
- step = qRound(maxval / 5.0);
+ step = maxval > 5.0 ? qRound(maxval / 5.0) : (maxval / 5.0);
qDebug() << "Calculated values";
}