knitr::opts_chunk$set( collapse = TRUE, comment = "#>", fig.path = "figures/", fig.width = 6, fig.height = 4, out.width = '80%', fig.align = "center" )
An R package to create Pokemon inspired ggplots. It also comes with dataset of 801 Pokemon with 41 different features (Gotta analyze'em all!).
For more details and examples see next sections.
Data
pokemon
: Data frame containing attributes and stats of 801 Pokemon.Functions
gghealth()
: HP bar inspired Bar charts.poke_pie()
: create pie charts from color distribution of Pokemon sprites.Themes
theme_rocket()
: Team Rocket themetheme_gameboy()
and theme_gba()
: classic Gameboy and Gameboy Advanced themestheme_status()
: inspired by Pokemon status bartheme_mystic()
, theme_valor()
, theme_instinct()
: Pokemon Go teams theme; work well with
annotate_pogo()
scale_color_poketype()
and scale_fill_poketype()
: Provides colors, if Pokemon types are mapped to color/fill Pokemon Palettes
poke_pal()
: color palettes created from Pokemon spritesdisplay_poke_pal()
: view a Pokemon color paletteThe developer version can be obtained from github.
#install.packages("devtools") devtools::install_github("schochastics/Rokemon")
library(Rokemon) library(tidyverse) data(pokemon)
The package includes several themes for ggplot.
(See what I did there...)
ggplot(pokemon,aes(attack,defense))+ geom_point(col = "grey")+ theme_rocket()+ labs(x = "Jessy",y = "James", title = "Theme Rocket", subtitle = "blast off at the speed of light!", caption = "meowth that's right")
If you want to get nostalgic.
ggplot(pokemon,aes(attack,defense))+ geom_point(shape = 15,col = "#006400",size=2)+ theme_gameboy()+ labs(title = "Classic Gameboy Theme")
ggplot(pokemon,aes(attack,defense))+ geom_point(shape = 15,col = "#27408B",size=2)+ theme_gba()+ labs(title = "Gameboy Advanced Theme")
A theme inspired by HP bar in older Pokemon games. The theme is used in gghealth
,
a function that plots bar charts in HP bar style.
pokemon[1:10,] %>% gghealth("name","base_total",init.size = 5)+ labs(x="",y="Stats Total")
Annotate your plots with the logo of your favorite Pokémon Go team.
p1 <- pokemon %>% dplyr::filter(type1=="water") %>% ggplot(aes(defense,attack))+geom_point()+annotate_pogo(team = "mystic")+theme_mystic()+ labs(title="Team Mystic",subtitle="Water Pokemon") p2 <- pokemon %>% dplyr::filter(type1=="fire") %>% ggplot(aes(defense,attack))+geom_point()+annotate_pogo(team = "valor")+theme_valor()+ labs(title="Team Valor",subtitle="Fire Pokemon") p3 <- pokemon %>% dplyr::filter(type1=="electric") %>% ggplot(aes(defense,attack))+geom_point()+annotate_pogo(team = "instinct")+theme_instinct()+ labs(title="Team Instinct",subtitle="Electric Pokemon") gridExtra::grid.arrange(grobs=list(p1,p2,p3),ncol=3)
Create pie charts of the color distribution of Pokemon sprites. Download all sprites, for example from here.
#basic usage poke_pie(path_to_sprites,pokemon_name)
The function is a reimplementation of this code, which was posted on reddit a while ago.
The package also includes color palettes, which were automatically generated from all 801 pokemon sprites.
poke_pal(name,n) display_poke_pal(name)
Additionally there is also a palette Pokemon Types, used by scale_color_poketype()
and
scale_fill_poketype()
.
I did not check all Pokemon palettes, so there may well be
some meaningless ones. A better alternative would be to use the dedicated package palettetown
.
See the github repo for help.
```{R palettes, eval=FALSE}
install.packages('palettetown')
## Fonts The package uses an old school gameboy font for some of its themes, which can be download [here](https://github.com/Superpencil/pokemon-font/releases/tag/v1.8.1). In order to use the font in R you need the `extrafont` package. ```{R install-fonts, eval=FALSE} #install.packages("extrafont") extrafont::font_import() #only run ones extrafont::loadfonts()
Alternatively, you can use the function import_pokefont()
.
import_pokefont()
Using theme_rocket()
to create an effectiveness table of Pokemon types.
pokemon %>% distinct(type1,.keep_all=TRUE) %>% select(defender = type1,against_bug:against_water) %>% gather(attacker,effect,against_bug:against_water) %>% mutate(attacker = str_replace_all(attacker,"against_","")) %>% ggplot(aes(y=attacker,x=defender,fill=factor(effect)))+ geom_tile()+ geom_text(aes(label=ifelse(effect!=1,effect,"")))+ scale_fill_manual(values=c("#8B1A1A", "#CD2626", "#EE2C2C", "#FFFFFF", "#00CD00", "#008B00"))+ theme_rocket(legend.position="none")+ labs(title="Effectiveness Table")
Using Pokemon type colors
ggplot(pokemon,aes(defense,attack))+ geom_point(aes(col=type1))+ scale_color_poketype()+ theme_bw()
poke_pie
can be found hereAdd the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.