One of the last rally charts I sketched last year was a dodged bar chart showing “sector” times within a stage for each driver, either as absolute times or rebased relative to a particular target driver. This represented an alternative to the “driver subseries” line charts e.g. as shown here.
Re: the naming of driver subseries charts – this is intended to be reminiscent of seasonal subseries charts.
The original slit time data on the WRC site looks like this:
Taking the raw sector (split) times, we can rebase the times relative to a particular driver. In this case, I have rebased relative to OGI so the sector times are as shown in the table above. The colour basis is the opposite to the basis used in the chart because I am trying to highlight to the target driver where they lost time, rather than where the others gained time. It may be that the chart makes more sense to professionals if I change the colour basis in the chart below, to use green to show that the driver made up that amount of time on the target driver).
The dodged bar charts are ordered with the first split time at the top of the set for each driver. The overall stage time is the lower bar in each driver group.
Here’s how it looks using the other colour basis:
Hmm… maybe that is better…
Note that the above charts also differs from the WRC split times results table in the ordering. The results table orders results in order of start, whereas the above charts rank relative to stage position.
To generate the “sector” times, we can find the difference between each split for a particular driver, and between the final (overall) stage time and the final split time. As before, we can then rebase these times relative to a specific target driver.
This chart shows how the target driver compared to each of the other drivers on each of the “sectors” between each split. So we see OGI dropped quite a lot of time relative to other drivers on the fourth “sector” of the stage, between splits 3 and 4. He made up time against MEE on the first and second parts of the stage.
As well as just showing the split times, we can find the total time delta between the target driver and each of the other drivers on the stage as the sum of the sector times. We can use a lower graphic layer to underplot this total beneath the dodged bars for each driver.
The grey bars show the total time gained / lost by the target driver on the stage relative to the other drivers.
In a similar way, we can also overplot the dodged bars on top of a stage progress chart, recolouring slightly.
This increases the information density of the stage progress chart even further, and provides additional “delta” signals in keeping with the deltascope inspiration / basis for that chart type.
Again, this sort of fits with the warped hydraulic model: the dodged bars can be stacked to give the length of the lighter coloured bar underneath them
(I’m not sure I’ve ordered the drivers correctly in the above chart – it was generated from two discordantly arranged datasets. The final chart will be generated from a single, consistent dataframe.)
PS it strikes me that the dodged bars need to be transparent to show a solid bar underneath that doesn’t extend as far as the dodged bars. This might need some careful colour / transparency balancing.
“t may be that the chart makes more sense to professionals if I change the colour basis in the chart below, to use green to show that the driver made up that amount of time on the target driver”
A personal anecdote on this …
When the audience is a particular race team, on the timing stand (I understand this is not your intended use) the engineers are quickly looking at many different data displays. One of my P1TS.com screens processes timing data and shows competitor’s pace relative to the hero. Initially I color coded the pace of faster cars behind the hero green, indicating “faster” while slower cars were red.
Now, telemetry data (not mine) tends to be red to warn engineer of a danger condition, while green is an acceptable state. Thus I reversed my color coding, so engineers can consistently use a simpler rule: “red” = danger.
Again, it doesn’t apply to your case, but I thought you’d enjoy hearing this perspective.
-Ken
Hi Ken… interesting perspective – thanks for that. I’m in two minds about the colours: 1) red ‘as a warning’ that time was lost; 2) results table convention where green shows time gained / red time lost relative to “hero” (what is exact sense if that word?) such as first on stage or fastest on stage.
“hero” (what is exact sense if that word?)
It’s the term I coined for “my” car in my motorsports data products. Most timing and scoring software presents data in a world view which may be fine for broadcast, but not so useful for race teams who must then perform mental arithmetic, say when reading leaderboards.
I got the idea for the term from these ideas that appeal to me …
– “hero cards” which are usually glossy cards that teams give away to fan during autograph sessions,
– “hero car” which is a term from the film world,
– I once told an engineer that I hoped my software would allow her to “be the hero”.
BTW, half way through this video, I show my early release of a “Pace” app. It colors faster competitors’s pace green, which I later reversed to red.
https://drive.google.com/drive/folders/0B9IO04a9LHkzdjNadVZjbjFQR3c
“Most timing and scoring software presents data in a world view which may be fine for broadcast, but not so useful for race teams”
Right – that’s one reason I tried to build rebasing options in to my charts so I can present them with time deltas etc relative to a particular car. (I’ve been using the word “target” but will try to start moving over to using “hero”!)
My use case is initially for trying to find ways in to discovering stories in a race, but I’m also keep wondering how I could make them useful to teams. (My issue is I have no real knowledge of the tactical or strategic decision that get made, which makes it hard to look for things that might inform them.)
Oops, the correct link to “Pace” app is …
https://drive.google.com/open?id=0B9IO04a9LHkzUTdUc1dDTkdzX2s
Thanks – that’s fascinating; I need to ponder the pace calculation when I get back to looking at F1 / track racing data. (Actually, I may give F1 a miss and instead go for WEC data, which has a few more rows and lots more opportunity (I assume) for strategy….)
Here’s some more experiences I have with comparisons similar to yours …
1) I used small multiples to plot data similar to your “delta by stage” – http://p1analysis.com/2016-dis-gtlm-4/index.html#sector-gaps
• While each sector difference was plotted as points, the final lap time difference was represented by a horizontal lines.
• My y axis represented the difference to the hero as a percentage. Absolute times appear as labels.
• Color coding each facet by manufacturer will reveal any clustering.
• The ggplot faceting library is rather slow.
2) After being pretty pleased with the facet plots, I discover that several of my clients don’t grok it, plus it takes too long for me to explain. They understand the original table of numbers (notice how it needs little explanation above). What I then design is an html/css/js numeric table that allows you to pick the hero and it automatically recalculates the hero-relative deltas and heat maps it. This makes everyone very happy – it solves their common question “where am I losing time and by how much?”
Re: “small multiples”, I started experimenting last night with symmetrical log scale plots, but I’m not sure they’re that useful… The idea was you’d have a lot of focus on cars up to a second behind, then up to 10s behind, etc. But log scales can be hard for folk to grok.