Nerding Out on Data

I like Strava for tracking my MAF runs but it doesn’t work well for me with my Polar Chest Heart Rate Strap (HR-7). So, I’ve switched to Polar Beat/Flow for the HR-7 strap since it’s easier to read the heart rate while running. I still use Strava along with Samsung Health. The watch sends data to Samsung Health and Samsung Health sends data to Strava. I still don’t like the result since the heart rate data gets blocky. Here’s an example:

So how did I get the data?

This is the fore-warned nerdy part. I’ve written a Python script. If you don’t know Python skip the rest of this post since I can’t support the code. If you care, the Python code is here on GitHub. Again, I can’t support the code. It uses libraries that are here.

After running the pyStravaParse code. I then open the CSV file (spreadsheet format) in LibreOffice (a Microsloth EXCEL clone). I can’t support your spreadsheet choice either.

The data looks like:

Time (secs) Lat Lon Elev Heart_Rate (bpm) HRmax (bpm) HRmin (bpm)
0 39.908913 -79.71205 323.7 93 122 112
2 39.908913 -79.71205 323.7 93 122 112

HRmax and HRmin are hard coded as string constants at the start of the code. They are based on your MAF number. They could be replaced by 180-age and 190-age.Data_Time is offset in seconds.

I then select the Time, Heart_Rate, HRmax and HRmin columns like this:

Select Insert, Chart.

Choose Chart Type – XY (Scatter) then Next.

For Data Range you should already be OK if you selected data above. The select Next.

For Data Series you should already be OK. Then select Next.

For Chart Elements enter your title, etc as below. After entering in the titles, select Finish.

You should get a result like this.

To edit the chart double click in the chart. Then right click on one of the numbers on the heart rate axis. You should then see.

Select Format Axis. Then enter your own heart rate range numbers. I selected Minimum of 80 and left the maximum at 140.

You should get something like this.

I also like to move the legend to the bottom and move the graph up a bit.

Not a bad result but it’s easy to see the blockyness of the data. The Polar strap does better. I don’t have data for that same run since I bought the Polar strap later but here’s a recent image.

Not bad!


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.