Rで解析:巨匠ゴッホのカラーパレットが15種類「vangogh」パッケージ

Rの解析に役に立つ記事

巨匠ゴッホのカラーパレットが15種類収録されたパッケージの紹介です。

収録カラーパレットは実行コマンドとRmdファイルで紹介します。実行前に「パッケージのインストール」のコマンドを実行してください。なお、実行はRStudioがおすすめです。

パッケージバージョンは0.1.1。実行コマンドはRStudioのRStudio Desktop 2022.02.2 Build 485、windows 11のR version 4.1.3で確認しています。

スポンサーリンク

パッケージのインストールとコマンド例

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

install.packages("vangogh")
install.packages("tidyverse")
install.packages("flexdashboard")
install.packages("DT")

コマンド例

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

#カラーパレットの表示:vangogh_paletteコマンド
vangogh_palette("StarryNight")

#カラーコードの取得
as.character(vangogh_palette("StarryNight"))
[1] "#0b1e38" "#4988BF" "#82C9D9" "#F2E96B" "#D9851E"

#連続変数でカラーコードを取得:typeオプション;"discrete","continuous"
as.character(vangogh_palette("StarryNight",
                             n = 10, type = "continuous"))
[1] "#0B1E38" "#264D74" "#427CB0" "#5B9DC7" "#75BAD3" "#9AD0C0" "#CCDE8F"
[8] "#EFDD62" "#E4B140" "#D9851E"

実行コマンドとRmdファイル

詳細はコマンド、Rmdファイル(エンコード:UTF-8)、パッケージヘルプを確認してください。

---
title: "vangoghパッケージ"
output:
  flexdashboard::flex_dashboard:
    orientation: columns
    social: menu
    source_code: embed
runtime: shiny
---

```{r global, include=FALSE}
#必要パッケージの読み込み
library("vangogh")
library("tidyverse")
library("flexdashboard")
library("DT")

###データ例の作成#####
n <- 100
TestData <- data.frame("Group" = sample(paste0("Group", 1:3), n, replace = TRUE),
                       "Data1" = sample(1:10, n, replace = TRUE),
                       "Data2" = sample(LETTERS[1:24], n, replace = TRUE))
########
#「vangogh」パッケージ:カラーパレット名:15種類
GgSColName <- names(vangogh_palettes)
```

Column {data-width=500}
-------------------------------------
```{r}
selectInput('Colpal', '収録カラーパレット:15種類', GgSColName)
```

```{r}
renderDataTable({
  PalData <- eval(parse(text = paste0("as.character(vangogh_palette('", input$Colpal, "'))")))
  ColCodeData <- data.frame("Color_Code" = PalData,
                            "Color" = "")
  datatable(ColCodeData, rownames = FALSE,
            options = list(pageLength = 7, lengthMenu = c(5, 10, 20))) %>%
    formatStyle("Color_Code", textAlign = "center") %>%
    formatStyle("Color", valueColumns = "Color_Code", color = "white",
                fontWeight = "bold", textAlign = "center",
                backgroundColor = styleEqual(ColCodeData[, 1], ColCodeData[, 1]))
})
```

###ggplot2:カラーパレット表示
```{r}
renderPlot({
  PalCol <- tibble(ColCode = eval(parse(text = paste0("as.character(vangogh_palette('", input$Colpal, "'))"))))
  ggplot(PalCol, aes(x = ColCode, y = 1, fill = ColCode, label = ColCode)) +
  geom_raster() + 
  annotate("rect", xmin = -Inf, xmax = Inf,
           ymin = 0.93, ymax = 1.07, alpha = 0.7, fill = "white") +
  geom_text(aes(label = input$Colpal, x = (nrow(PalCol)+1)/2, y = 1),
            color = "black", size = 8) +
  scale_fill_manual(values = as.character(PalCol$ColCode), guide = "none") +
  theme_void()
}, height = 200)
```

Column {data-width=500}
-------------------------------------
###ggplot2:colorに適応
```{r}
renderPlot({
  PalData <- eval(parse(text = paste0("vangogh_palette('", input$Colpal, "')")))
  ggplot(TestData,
         aes(x = Data1, y = Data2, col = Group)) +
    geom_point(size = 10) +
    theme_bw() +
    scale_color_manual(values = as.character(PalData)) +
    labs(title = paste0("Palette Name:", input$Colpal))
}, height = 350)
```

###ggplot2:fillに適応
```{r}
renderPlot({
  PalData <- eval(parse(text = paste0("vangogh_palette('", input$Colpal, "')")))
  ggplot(TestData,
         aes(x = Data2, fill = Group)) +
    geom_bar(stat = "count") + theme_bw() +
    scale_fill_manual(values = as.character(PalData)) +
    labs(title = paste0("Palette Name:", input$Colpal))
}, height = 350)
```

出力例

・vangogh_paletteコマンド

・Rmdファイルの実行


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

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