New app: Champion Scatterplot

Patch 4.17

First, thanks to everyone who has been reading and discussing these posts. I'm barely getting started here, but we're well on our way. For this week's post I'm happy to introduce the first app, the champion scatterplot.

It looks like this:

champion scatterplot - screenshot

(click the picture or the link to try it out)

It allows you to plot the level 18 base statistics of all 121 champions at once. There are drop-down menus that allow you to choose which statistic is used for each axis, so you can explore the data yourself. These types of scatterplots are great for finding outliers in high-dimensional datasets and for exploring clusters and groups of data.

I implore you to just give it a whirl, but I'll share some of my quick observations.

  • If you put magic resist (mr) along one axis you'll notice immediately something that I didn't know before making this tool. Namely, there are only two kinds of base magic resist, have and have not.

This, to me, seems like one of the less-predictable design decisions I've encountered in this game. I'd love to hear any of your theories on this one.

Here's a few other observations.

  • If you put armor (ar) on an axis you'll first see that Thresh's armor does not work the same way as other champions, and then you'll notice that Maokai, Poppy, and Skarner might be better against teams with lots of physical damage.
  • Alistar has a lot of hitpoints.
  • The graph of ad vs. as is also interesting; hello Kassadin.
  • Attack range (range) vs. attack speed (as) shows the gap between melee and ranged champions. Ashe, Annie, Thresh, and Urgot all show up in interesting places. One might expect to see Tristana much further to the right here, but the base statistics don't take into account innate abilities such as her passive.

poor trist

I think there's quite a bit to discover already, but there's a lot more the tool could do as well. I hope to work on it more in the future. I'd like to add a way to filter champions, perhaps by role. Sometimes the plot is a bit tough to read with all 120 champions stacked on top of each other. I'd like to add a slider for champion level, rather than just showing level 18 stats. For instance, the level 1 stats are super-interesting as well. Gangplank's base hp is shockingly high. Sliding a slider like that might begin to give us a feel for which champions are 'early-game' or 'late-game'. I'd also like to set query string (url) parameters when you change the graph so that we could share links to interesting setups. Ah well, I'm sure I'll implement all these things and more eventually.

It's fun building up the tech around this blog. Let me know if you have any ideas you'd like to see implemented for this app, or other similar (or dissimilar) tools/articles. Share what you find here with your friends, or squirrel it away as competitive advantage.

Either way, I'll be seeing you soon for more league + math excitement here at

No tables of champion statistics were harmed in the making of this article or app. Making and playing games generates data; consuming that data and writing up the findings is my kind of fun.