Skip to main content

2019 Tour de France in 10 interactive charts

Image 1 of 6

Image 2 of 6

The green jersey race

The green jersey race (Image credit: Laura Weislo/Flourish)
Image 3 of 6

Mountains classification points won by category

Mountains classification points won by category (Image credit: Laura Weislo/Flourish)
Image 4 of 6

The points classification by where points were taken

The points classification by where points were taken (Image credit: Laura Weislo/Flourish)
Image 5 of 6

(Image credit: Laura Weislo/Flourish)
Image 6 of 6

(Image credit: Laura Weislo/Flourish)

The 2019 Tour de France is a wrap, with Egan Bernal (Team Ineos) claiming Colombia's first overall victory in the race and inking his name in the annals of Tour history as one of the youngest riders to ever win the race. Cyclingnews' Laura Weislo crunched the data from this year's race, summing up the evolution of the race in 10 charts.

Bernal took the lead in the overall classification on the shortened stage 19 by escaping on the Col de l'Iseran, the highest point of the Tour - only to have the race organisers call a halt to the race because of landslides on the route ahead. The next day's stage was shortened as well and with teammate Geraint Thomas in second place, the fight was on for the final podium spot. Julian Alaphilippe (Deceuninck-QuickStep), who led the race for 14 stages, finally gave way on the climb to Val Thorens, and Steven Kruijswijk (Jumbo-Visma) filled the final podium spot.

Only five riders wore the yellow jersey, with Mike Teunissen (Jumbo-Visma) the surprise winner of the first stage and keeping it while Jumbo-Visma winning the next day's TTT. Alaphilippe took over for the next three stages before being temporarily displaced by Trek-Segafredo's Giulio Ciccone. The Frenchman reclaimed the maillot jaune on stage 8 before defying all expectations to hold onto it until Bernal's attack on stage 19.

Interact with these charts by hovering over a line to highlight the rider's progress.

Top 10 by GC position over stages

In a game of virtual leapfrog, this chart shows how the position of each rider who finished in the final top 10 overall changed over time.

Pre-race contenders by gap to leader over stages

How did the pre-race contenders fare over the 21 stages of the 2019 Tour de France?

Fabio Aru (UAE Team Emirates) was one of the first to drop down the rankings while Nairo Quintana dropped back in the Pyrenees before rebounding in the Alps. Click on each line to show just that rider.

Top 10 by time gap to leader over stages

Of the pre-race contenders, many fell out of contention in the Pyrenees, but the Alps were the biggest hammer to the overall rankings, as the cumulative fatigue and lack of motivation to keep fighting when the podium was out of reach bit in.

All riders gap to GC leader

This chart ranks all of the riders time gap to the overall race leader over each stage in the 2019 Tour de France.

It's a lot of lines but it gives a sense of how quickly the general classification gets shattered as riders get dropped off the back in crosswinds, because of crashes, mountains or just sitting up after a day's hard work for the team.

Points classification

Peter Sagan (Bora-Hansgrohe) set the record for most points classification victories, taking the green jersey on stage 3 and steadily distancing all his rivals.

As you can see in the chart below, Caleb Ewan (Lotto Soudal) saved himself for the trio of stage victories he claimed, but had he gone for just a few intermediate sprints, he might have challenged Sagan in that competition.

The chart shows in dark green how many points were gained in total and in light green how many of those were gained during the intermediate sprints.

Interact with the chart by hovering over a line to highlight the rider's progress.

In the chart below we look at the relative points in a 'bar chart race' over each sprint - intermediate and final sprint - over 21 stages.

Mountains classification

In the mountains classification, only three riders led the polka dot jersey competition, with Greg Van Avermaet (CCC) taking the first stint before Tim Wellens (Lotto Soudal) led the classification for 15 stages before being relegated to second by Romain Bardet (AG2R La Mondiale), thanks in large part to his stage 18 romp over the hors-categorie Cols d'Izoard and Galibier where he won 60 of his 86 total points.

Hover over the bubbles on the chart below to see where each rider picked up the most points.

Best young riders classification

The best young rider's classification was a more open affair, with Caleb Ewan (Lotto Soudal) wearing it for a day before Wout Van Aert (Jumbo-Visma) took over for four days. Ciccone led for four days before Bernal took the lead for three days. The eventual race winner was overtaken by Enric Mas (Deceuninck-Quickstep) in the individual time trial, but quickly regained the lead in the mountains and held on until the end.

Teams classification

Only three teams wore the yellow helmets of best team: Jumbo-Visma, took the first stretch before Trek-Segafredo and Movistar traded off for the rest of the race until the Spanish squad won out.

In terms of exposure for their sponsors, Lotto Soudal got the biggest bang for their buck, racking up four stage wins, 16 days in one of the jerseys, and four podium visits for combativity. Bora-Hansgrohe were next with Sagan's 19 days in green, overall and one stage win, while Deceuninck-Quickstep and Jumbo-Visma were tied: Deceuninck-Quickstep with 15 days in a jersey and three stage wins and Jumbo-Visma with five podium visits, nine jersey days and four stage wins.

Seven of the 22 teams came away completely empty-handed, with EF Education First, UAE Team Emirates, Astana, Dimension Data, Team Sunweb, Total Direct Energie and Katusha-Alpecin never making the podium.

2019 Tour de France summary
StageTypeWinnerGC leaderPoints classification leaderMountains classification leaderBest young riderBest teamMost aggressive
1FlatMike TeunissenMike TeunissenMike TeunissenGreg Van AvermaetCaleb EwanTeam Jumbo-VismaStéphane Rossetto
2TTTTeam Jumbo-Visma   Wout van Aert None
3HillyJulian AlaphilippeJulian AlaphilippePeter SaganTim Wellens  Tim Wellens
4FlatElia Viviani     Michael Schär
5HillyPeter Sagan     Toms Skujins
6Mountain/SummitDylan TeunsGiulio Ciccone  Giulio CicconeTrek-SegafredoTim Wellens
7FlatDylan Groenewegen     Yoann Offredo
8HillyThomas De GendtJulian Alaphilippe    Thomas De Gendt
9HillyDaryl Impey     Tiesj Benoot
10FlatWout van Aert   Egan BernalMovistar TeamNatnael Berhane
11FlatCaleb Ewan     Aime De Gendt
12MountainSimon Yates    Trek-SegafredoMatteo Trentin
13ITTJulian Alaphilippe   Enric Mas None
14Mountain/SummitThibaut Pinot   Egan BernalMovistar TeamElie Gesbert
15Mountain/SummitSimon Yates     Mikel Landa
16FlatCaleb Ewan     Alexis Gougeard
17HillyMatteo Trentin    Trek-SegafredoMatteo Trentin
18MountainNairo Quintana  Romain Bardet Movistar TeamGreg Van Avermaet
19Mountain/SummitNoneEgan Bernal    None
20Mountain/SummitVincenzo Nibali     Vincenzo Nibali
21FlatCaleb Ewan     None
   Egan BernalPeter SaganRomain BardetEgan BernalMovistar TeamRomain Bardet