A few examples of using Flourish for a data-rich hobby
by Mark Longair
I think it’s fair to say that if you’re someone who’s interested
in data visualization, you see ways of applying those techniques
in all areas of your life where you can see data could be
gathered, even if they’re hobbies, daily habits, sports, etc.
An example of this for me recently has been Pokémon GO, which I
restarted playing about 6 months ago. I’ve been enjoying it
particularly because of the way it encourages you to walk lots
and explore, and because it has an interesting
community-building aspect. It’s also a very data-rich game, even
if that data is sometimes hard to collect or extract! This post
is about a couple of examples where I couldn’t resist using
Flourish to visualize some Pokémon GO data.
One aspect of the game that I’ve found hard to navigate is
essentially a complicated game of Rock, Paper, Scissors: each
Pokémon has one or two “types” (which might be Grass, Steel,
Fire, etc.) and Pokémon of particular types have advantage in
battles over certain other types. (For example, one of the more
natural ones is that Water types perform well against Fire
types.) The problem is that there 18 different types, so 18² =
324 combinations that it’s potentially useful to know.
Sometimes this complete data is presented in a big table with an
entry for each combination, as seen here:
This is useful for reference, but it can be easily reduced if
you just want to focus on the type advantages it might be useful
to remember. For example, if a combination of types have neither
advantage nor disadvantage when attacking each other, that’s not
really worth remembering.
When you remove those elements, there are other ways you can
represent it more concisely. For example, this representation is
However, there are a couple of problems I have with this - the
key one is that each type is represented redundantly in the
chart multiple times. The other is that it still includes more
data than I can easily remember - it includes any type A which
is supereffective when attacking another type B, without
considering the effectiveness of type B attacking type A.
The alternative representation of these type advantages that I
liked best, which addresses both of these issues, is this one
from Reddit user r_noob: