【R】ggimg

1. はじめに

ggimgは、ggplotでイメージをつかってプロットするgeomを提供してくれます。

2. インストール

CRANからインストールできます。

install.packages("ggimg")

3. つかってみる

映画のデータをポスター画像をつかってプロットしてみます。イメージのpathをmutateで加えています。

library(ggimg)
library(ggplot2)
library(tidyverse)

posters <- mutate(posters,
                  path = file.path(system.file("extdata", package="ggimg"), img)
)
posters
> posters
# A tibble: 50 x 12
    year title   img      rating_count   gross genre   rating runtime stars metacritic description          path         
   <dbl> <chr>   <chr>           <dbl>   <dbl> <chr>   <chr>    <dbl> <dbl>      <dbl> <chr>                <chr>        
 1  2018 Incred~ 2018_in~       226170  6.09e8 Animat~ PG         118   7.6         NA "The Incredibles he~ C:/Users/Dej~
 2  2019 The Li~ 2019_th~       168828  5.40e8 Animat~ PG         118   6.9         55 "After the murder o~ C:/Users/Dej~
 3  2016 Findin~ 2016_fi~       224980  4.86e8 Animat~ PG          97   7.3         NA "Friendly but forge~ C:/Users/Dej~
 4  2004 Shrek 2 2004_sh~       398797  4.36e8 Animat~ PG          93   7.2         NA "Princess Fiona's (~ C:/Users/Dej~
 5  2019 Toy St~ 2019_to~       159927  4.33e8 Animat~ G          100   7.8         NA "When a new toy cal~ C:/Users/Dej~
 6  2010 Toy St~ 2010_to~       719003  4.15e8 Animat~ G          103   8.3         NA "The toys are mista~ C:/Users/Dej~
 7  2013 Frozen  2013_fr~       545450  4.01e8 Animat~ PG         102   7.5         NA "When the newly cro~ C:/Users/Dej~
 8  2003 Findin~ 2003_fi~       903078  3.81e8 Animat~ G          100   8.1         NA "After his son is c~ C:/Users/Dej~
 9  2016 The Se~ 2016_th~       173603  3.68e8 Animat~ PG          87   6.5         NA "The quiet life of ~ C:/Users/Dej~
10  2013 Despic~ 2013_de~       355343  3.68e8 Animat~ PG          98   7.3         NA "When Gru, the worl~ C:/Users/Dej~

geom_rect_img()を使ってプロットしてみます。

ggplot(posters) +
  geom_rect_img(aes(
    xmin = year - 0.5,
    xmax = year + 0.5,
    ymin = stars - 0.25,
    ymax = stars + 0.25,
    img = path
  )) +
  theme_minimal() +
  labs(x="Released Year",
       y="Rated Star") 

geom_point_img()を使ってみます。

ggplot(posters) +
  geom_point_img(aes(
    x = year,
    y = runtime,
    img = path
  ), size = 0.8) +
  theme_minimal() +
  labs(x="Released Year",
       y="Runtime") 

4. さいごに

イメージを使ってプロットする方法は様々ありますが、こちらも良いですね。

Add a Comment

メールアドレスが公開されることはありません。