Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.

Graph improvements feature request (duration)​


Observations​

Today the graphs appear to present their metric from the beginning of the activity until current.
It's useful to get an overview from the beginning, but the utility is limited in multiple ways, mainly:
  • the horizontal axis scale is a constantly changing duration
  • when activities gets longer, recent changes becomes impossible to view
  • low or high values, from peaks of intensity or intervals makes automatic vertical axis scaling ineffective
Example: heart rate zone graph showing the heart rate over the last 35 minutes, from the beginning of the ride.
PXL_20250923_213810322.jpg

Use cases for graphs​

The heart rate zones graph (called HR Intensity Graph in WOD) is my favorite tool for pacing and regulating intensity, especially when combined with power value or power graph.

The heart rate zone graph is my main tool on easy Zone 1 or Zone 2 runs to stay at the target intensity. It's an effective way to calibrate perceived exertion to the metabolic rate, and remain at a desired intensity without relying on annoying alerts.

I also use the heart rate zone graph extensively when cycling as means of transportation in order to not get carried away or sweaty while remaining efficient (for me: in the 120-130 bpm range)

Looking at the heart rate value is okay as a snapshot, but the heart rate can go back down quickly when coasting as well as up fast on a short climb. Glancing at a graph gives a much better overview of what's going on.

And this is just for heart rate, I'm sure there's just as much use for other metrics.

Feature suggestion​

Configurable time scale​

X-axis is time, and WOD would allow to select which amount of time is displayed with these options:
  • Current interval (variable x-axis scale: shows only the current interval values)
  • 30 seconds
  • 1 minute
  • 2 minutes
  • 3 minutes
  • 4 minutes
  • 5 minutes
  • 10 minutes
  • 15 minutes
  • 20 minutes
  • 30 minutes
  • 1 hour
  • 2 hours
  • 3 hours
  • 4 hours
  • Full duration (variable x-axis scale: shows all values from beginning to current)

Configuration options​

  • Graph duration per activity type
  • Graph duration can be configured on the watch itself while recording an activity
  • Toggle to enable "Current Interval" during workouts

Colored zone graphs for Power, Pace and Speed​

A graph without scale or zones is not very useful, but a graph with zones is the most effective to get the info desired at a glance.
Like the HR Intensity Graph colored according to the zones definition, Power, Pace and Speed graphs will get a lot more useful with colors.

Min / Max / AVG values on the graph​

Dynamically updated values overlayed on top of the graph to give a sense of what the min, max and average values for the current graph visualization are.
It's a more informative alternative to showing a legend on the x-axis: the user who wants a graph typically uses it to target remaining within a range, and would like to know what the average is for the duration displayed.

Optional display of the current value​

A display of the current value in the bottom/left/top/right/center position, on the same slot.
This enables having a very large graph that's the easiest to glance at as well as the value itself - in an optimized layout for both.

Inspiration and acknowledgements​

  • Heart Rate Zone Chart by Jorgillu on Connect IQ
    • effective layout
    • horizontal grid lines
    • configurable duration
  • Heart Rate Zone Graph [hHRZone] by hSoftware on Connect IQ
    • configurable min/max/current functionality
Example: Heart Rate Zone Chart on Garmin with the constraints of a round display

0ce594da-cda2-4348-9400-b725d7b1554e.jpg
 
Last edited:
  • Like
Reactions: cfc
Getting repeatable crashes on v6.2.2 on the phone similar to what I had previously.

Zooming in to routes and then moving around exactly as before, which had seemed to be fixed (although not tried in last few released).

iPhone 15 Pro (and AWU2).
 
Getting repeatable crashes on v6.2.2 on the phone similar to what I had previously.

Zooming in to routes and then moving around exactly as before, which had seemed to be fixed (although not tried in last few released).

iPhone 15 Pro (and AWU2).
Please email me the wkt file at info@workoutdoors.net and I will take a look. To do this tap the Export button 3 times quickly.
 
I went for a slow shuffle (very low intensity, low impact run) with 120 BPM target and the heart rate values displayed and recorded by WOD, from the internal Apple Watch 7 sensor became repetitively stuck after less than 30 minutes.

It even got stuck at reporting 170 BPM for nearly 2 min, until I stopped moving, paused and resumed the activity.
Later on, it seemed that stop moving or walking for a few seconds could get the HR value un-stuck.

The 41mm watch was worn snugly on my arguably small wrist. The Watch 7 heart rate sensor performs pretty well on me for cycling activities so far, so I'm surprised it's failing so bad on a mostly steady-state run.
All reviews indicate very high correlations vs a ECG strap so I'm confused.

Can it be a WOD specific issue? Or is the Apple Watch 7 HR sensor not working on me correctly?

On the HR graph visualized in FitFileViewer, you can see the 170bpm peak as well as all the other times the HR value flat-lined. I'm not too bad at maintaining a constant steady-state intensity but not that good.
It got worse with duration (ambient temperature went gradually down, not sure if that's a factor in case of HR sensor issue)

Screenshot 2025-09-25 at 19.00.24.png


Attached as well, the original FIT file. The Stryd foot pod was connected.
 

Attachments

  • Thursday_Afternoon_Run.fit.zip
    134.5 KB · Views: 1
I went for a slow shuffle (very low intensity, low impact run) with 120 BPM target and the heart rate values displayed and recorded by WOD, from the internal Apple Watch 7 sensor became repetitively stuck after less than 30 minutes.

It even got stuck at reporting 170 BPM for nearly 2 min, until I stopped moving, paused and resumed the activity.
Later on, it seemed that stop moving or walking for a few seconds could get the HR value un-stuck.

The 41mm watch was worn snugly on my arguably small wrist. The Watch 7 heart rate sensor performs pretty well on me for cycling activities so far, so I'm surprised it's failing so bad on a mostly steady-state run.
All reviews indicate very high correlations vs a ECG strap so I'm confused.

Can it be a WOD specific issue? Or is the Apple Watch 7 HR sensor not working on me correctly?

On the HR graph visualized in FitFileViewer, you can see the 170bpm peak as well as all the other times the HR value flat-lined. I'm not too bad at maintaining a constant steady-state intensity but not that good.
It got worse with duration (ambient temperature went gradually down, not sure if that's a factor in case of HR sensor issue)

View attachment 2558686

Attached as well, the original FIT file. The Stryd foot pod was connected.
The app just reports what the heart rate sensor tells it. By the sound of it you are experiencing "cadence lock" where it locks onto your steps rather than heart beats (which would explain why it is not an issue for cycling). I don't hear of that often but I have definitely heard of it more often in the last year, so I think Apple have changed something.

Apple have some hints on how to help here: https://support.apple.com/en-us/HT207941#heartrate. I have also heard that wearing the watch on the other wrist can help for a few people, maybe because their blood vessels are closer to the surface on that other wrist.

However even these hints don't help for some people and then I recommend using an external heart rate monitor, which work in a very different way. They detect electrical impulses whereas the watch sensor beams a light into your wrist and detects heart beats from the reflections. However the effectiveness of this varies between people (tattoos, deeper blood vessels etc) and is also greatly affected by cold and also by motion. Some people only use an external monitor in the colder months and can get by in the warmer months, but a few people need it all year round.
 
  • Love
Reactions: supercurio
Thanks for confirming it can't be WOD so that I won't waste time to try reproducing the issue with the Apple Workout or Strava app 😅

The reason I asked is because of what Apple mentions in their "Choose the best workout", quoting:
When you use the Workout app, choose the option that best matches what you’re doing. For example, if you're running on a treadmill, choose Indoor Run. If you're doing a workout that isn't listed, tap Add Workout and choose the workout that best matches the activity you're doing.

That made me wonder if an app is supposed to hint the OS with an API call specifying the kind of activity that'll be recorded in order to help the HR sensor algorithm filter out noise according to a preset. Like you said for instance, cadence when running or vibrations when cycling.
But from a quick look at the SDK documentations, it doesn't seem to be a thing.


I added Cadence to the same graph (zoomed), cadence lock was my first guess too but it doesn't seem to be a lock per say, which typically results in HR = cadence. My Fitbit Charge 6 does that.
The graph shows how the HR sensor gets unstuck when I stop running (cadence dropping)
Screenshot 2025-09-25 at 19.31.15.png


I own both a Polar Verity Sense and H10 so I'll be just fine 😄 But yeah, I didn't expect that from what's considered the best optical wrist HR sensor on the market.
 
  • Like
Reactions: cfc
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.