魚からインスピレーションを受けて作成されたパレットが収録されているパッケージの紹介です。バージョン0.2.3では174種類のカラーパレットが収録されています。本パッケージは随時コミュニティーの提案でパレットを追加していくようです。
パレットの提案は下記URLより確認してください。
https://cran.r-project.org/web/packages/fishualize/vignettes/contribute.html
収録カラーパレットは実行コマンドとRmdファイルで紹介します。実行前に「パッケージのインストール」のコマンドを実行してください。なお、実行はRStudioがおすすめです。
パッケージバージョンは0.2.3。実行コマンドはRStudioのRStudio Desktop 2021.09.2+382、windows 11のR version 4.1.2で確認しています。
パッケージのインストール
下記、コマンドを実行してください。
install.packages("fishualize") install.packages("tidyverse") install.packages("flexdashboard") install.packages("DT")
実行コマンドとRmdファイル
詳細はコマンド、Rmdファイル(エンコード:UTF-8)、パッケージヘルプを確認してください。
--- title: "fishualizeパッケージ" output: flexdashboard::flex_dashboard: orientation: columns social: menu source_code: embed runtime: shiny --- ```{r global, include=FALSE} #必要パッケージの読み込み library("fishualize") library("tidyverse") library("flexdashboard") library("DT") ###データ例の作成##### n <- 100 TestData <- data.frame("Group" = sample(paste0("Group", 1:5), n, replace = TRUE), "Data1" = sample(1:10, n, replace = TRUE), "Data2" = sample(LETTERS[1:24], n, replace = TRUE)) ######## #「fishualize」パッケージ:カラーパレット名:174種類 GgSColName <- fish_palettes() ``` Column {data-width=500} ------------------------------------- ```{r} selectInput('Colpal', '収録カラーパレット:174種類', GgSColName) ``` ```{r} renderDataTable({ PalData <- eval(parse(text = paste0("fish(n = 5, option ='", 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("fish(n = 30, option ='", 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("fish(n = 5, option ='", 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("パレット名:", input$Colpal)) }, height = 350) ``` ###ggplot2:fillに適応 ```{r} renderPlot({ PalData <- eval(parse(text = paste0("fish(n = 5, option ='", 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("パレット名:", input$Colpal)) }, height = 350) ```
出力例
少しでも、あなたの解析が楽になりますように!!