summaryrefslogtreecommitdiffstats
path: root/profile-widget/profilewidget2.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'profile-widget/profilewidget2.cpp')
-rw-r--r--profile-widget/profilewidget2.cpp16
1 files changed, 14 insertions, 2 deletions
diff --git a/profile-widget/profilewidget2.cpp b/profile-widget/profilewidget2.cpp
index b65e76743..4381e6963 100644
--- a/profile-widget/profilewidget2.cpp
+++ b/profile-widget/profilewidget2.cpp
@@ -644,8 +644,20 @@ void ProfileWidget2::plotDive(struct dive *d, bool force)
#ifndef SUBSURFACE_MOBILE
if (plotInfo.maxhr) {
- heartBeatAxis->setMinimum(plotInfo.minhr);
- heartBeatAxis->setMaximum(plotInfo.maxhr);
+ int heartBeatAxisMin = lrint(plotInfo.minhr / 5.0 - 0.5) * 5;
+ int heartBeatAxisMax, heartBeatAxisTick;
+ if (plotInfo.maxhr - plotInfo.minhr < 40)
+ heartBeatAxisTick = 10;
+ else if (plotInfo.maxhr - plotInfo.minhr < 80)
+ heartBeatAxisTick = 20;
+ else if (plotInfo.maxhr - plotInfo.minhr < 100)
+ heartBeatAxisTick = 25;
+ else
+ heartBeatAxisTick = 50;
+ for (heartBeatAxisMax = heartBeatAxisMin; heartBeatAxisMax < plotInfo.maxhr; heartBeatAxisMax += heartBeatAxisTick);
+ heartBeatAxis->setMinimum(heartBeatAxisMin);
+ heartBeatAxis->setMaximum(heartBeatAxisMax + 1);
+ heartBeatAxis->setTickInterval(heartBeatAxisTick);
heartBeatAxis->updateTicks(HR_AXIS); // this shows the ticks
}
heartBeatAxis->setVisible(prefs.hrgraph && plotInfo.maxhr);