Rで解析:ggplot2で画像、絵文字、国旗をプロット「ggimage」パッケージ

Rの解析に役に立つ記事

「ggplot2」パッケージで画像、絵文字、国旗をプロットするのに便利なパッケージの紹介です。使い方は大変簡単です。

パッケージバージョンは0.3.1。実行コマンドはwindows 11のR version 4.1.3で確認しています。

スポンサーリンク
スポンサーリンク

パッケージのインストール

下記コマンドを実行してください。

#パッケージのインストール
install.packages("ggimage")

実行コマンド

詳細はコマンド、各パッケージのヘルプを確認してください。

#パッケージの読み込み
library("ggimage")

###データ例の作成#####
set.seed(1234)
#画像の準備
#からだにいいものFaviconを準備
download.file("https://www.karada-good.net/wp/wp-content/uploads/2016/11/80b8741eefa3e2d94c4aa7e748a606f0-100x100.png",
              destfile = paste0(tempdir() , ".png"), mode="wb")
img <- c(system.file("extdata", "Rlogo.png", package = "ggimage"),
         paste0(tempdir() , ".png"))

#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
n <- 25
TestData <- tibble(X_num_Data = sample(c(1:30), n, replace = TRUE),
                   Y_num_Data = sample(c(51:100), n, replace = TRUE),
                   #プロット画像を指定
                   Img = sample(img, size = n, replace = TRUE),
                   #プロット絵文字を指定
                   #絵文字コードは下記を参考:未収録はプロットなし
                   #https://unicode.org/emoji/charts/full-emoji-list.html
                   Emoji = sample(c("1f612", "1f607", "1f600",
                                    "1f614", "1f617", "1f634"),
                                  size = n, replace = TRUE),
                   #プロット国旗を指定
                   Country = sample(c("US", "CA", "AU",
                                      "ZA", "JP", "OM"),
                                    size = n, replace = TRUE),
                   Size = sample(c(0.05, 0.07, 0.1), n, replace = TRUE))

########

#シンボルを画像でプロット:geom_imageコマンド
ggplot(TestData, aes(x = X_num_Data, y = Y_num_Data)) +
  #画像を指定:imageオプション
  geom_image(aes(image = Img), size = TestData$Size) +
  #テーマを指定:下記コマンドはおまけ
  theme(title = element_text(colour = "#ffffe0"),
        axis.title = element_text(colour = "#ffffe0"),
        axis.text = element_text(colour = "#ffffe0"),
        axis.text.y = element_text(size = 8),
        panel.background = element_rect(fill = "lightgray"),
        plot.background = element_rect(fill = "#0a0a0a"))

#シンボルを絵文字でプロット:geom_emojiコマンド
ggplot(TestData, aes(x = X_num_Data, y = Y_num_Data)) +
  geom_emoji(aes(image = Emoji),
             size = TestData$Size) +
  #テーマを指定:下記コマンドはおまけ
  theme(title = element_text(colour = "#ffffe0"),
        axis.title = element_text(colour = "#ffffe0"),
        axis.text = element_text(colour = "#ffffe0"),
        axis.text.y = element_text(size = 8),
        panel.background = element_rect(fill = "lightgray"),
        plot.background = element_rect(fill = "#0a0a0a"))

#シンボルを絵文字でプロット:geom_flagコマンド
ggplot(TestData, aes(x = X_num_Data, y = Y_num_Data)) +
  geom_flag(aes(image = Country),
            size = TestData$Size) +
  #テーマを指定:下記コマンドはおまけ
  theme(title = element_text(colour = "#ffffe0"),
        axis.title = element_text(colour = "#ffffe0"),
        axis.text = element_text(colour = "#ffffe0"),
        axis.text.y = element_text(size = 8),
        panel.background = element_rect(fill = "lightgray"),
        plot.background = element_rect(fill = "#0a0a0a"))

出力例

・geom_imageコマンド

・geom_emojiコマンド

・geom_flagコマンド


少しでも、あなたの解析が楽になりますように!!

タイトルとURLをコピーしました