summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--profile.c15
1 files changed, 11 insertions, 4 deletions
diff --git a/profile.c b/profile.c
index 35a1366bf..7cad699ce 100644
--- a/profile.c
+++ b/profile.c
@@ -300,7 +300,7 @@ static void plot_depth_profile(struct graphics_context *gc, struct plot_info *pi
static int setup_temperature_limits(struct graphics_context *gc, struct plot_info *pi)
{
- int maxtime, mintemp, maxtemp;
+ int maxtime, mintemp, maxtemp, delta;
/* Get plot scaling limits */
maxtime = get_maxtime(pi);
@@ -308,9 +308,16 @@ static int setup_temperature_limits(struct graphics_context *gc, struct plot_inf
maxtemp = pi->maxtemp;
gc->leftx = 0; gc->rightx = maxtime;
- /* Show temperatures in roughly the lower third */
- gc->topy = maxtemp + (maxtemp - mintemp)*2;
- gc->bottomy = mintemp - (maxtemp - mintemp)/2;
+ /* Show temperatures in roughly the lower third, but make sure the scale
+ is at least somewhat reasonable */
+ delta = maxtemp - mintemp;
+ if (delta > 3000) { /* more than 3K in fluctuation */
+ gc->topy = maxtemp + delta*2;
+ gc->bottomy = mintemp - delta/2;
+ } else {
+ gc->topy = maxtemp + 1500 + delta*2;
+ gc->bottomy = mintemp - delta/2;
+ }
return maxtemp > mintemp;
}