Rで解析:R MarkDownで紹介!カラーパレットがいっぱい「ggsci」パッケージ

ggplot2でも利用できるカラーパレットが収録されているパッケージの紹介です。コマンドの紹介のRmdファイルを実行するとカラーパレットを確認できるようにしました。

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

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

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

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

コマンドの紹介

詳細はコマンド、各パッケージのヘルプを確認してください。以下からファイルをダウンロードしRStudioで実行しても同じコマンドの紹介内容と同じ結果が得られます。なお、拡張子はRmdです。

</p>---
title: "ggsci"
output:
  flexdashboard::flex_dashboard:
  orientation: columns
social: menu
source_code: embed
runtime: shiny
---
  
  ```{r global, include=FALSE}
#&#24517;&#35201;&#12497;&#12483;&#12465;&#12540;&#12472;&#12398;&#35501;&#12415;&#36796;&#12415;
if(!require("ggsci", quietly = TRUE)){
  install.packages("ggsci");require("ggsci")
}
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
if(!require("flexdashboard", quietly = TRUE)){
  install.packages("flexdashboard");require("flexdashboard")
}
if(!require("DT", quietly = TRUE)){
  install.packages("DT");require("DT")
}

###&#12487;&#12540;&#12479;&#20363;&#12398;&#20316;&#25104;#####
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))
########
#&#12300;ggsci&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;:&#12459;&#12521;&#12540;&#12497;&#12524;&#12483;&#12488;&#21517;
GgSColName <- c("AAAS Journal Color Palettes", "D3.js Color Palettes", "The Futurama Color Palettes",
                   "Integrative Genomics Viewer (IGV) Color Palettes", "Journal of Clinical Oncology Color Palettes",
                   "Lancet Journal Color Palettes", "LocusZoom Color Palette", "NEJM Color Palettes",
                   "NPG Journal Color Palettes", "Rick and Morty Color Palettes", "The Simpsons Color Palettes",
                   "Star Trek Color Palettes", "The University of Chicago Color Palettes",
                   "UCSC Genome Browser Color Palette")
#&#12300;ggsci&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;:ggplot2&#12391;&#20351;&#12360;&#12427;&#12471;&#12531;&#12508;&#12523;&#33394;&#12467;&#12510;&#12531;&#12489;
GgScalCol <- c("scale_color_aaas()", "scale_color_d3()", "scale_color_futurama()",
                  "scale_color_igv()", "scale_color_jco()", "scale_color_lancet()",
                  "scale_color_locuszoom()", "scale_color_nejm()", "scale_color_npg()",
                  "scale_color_rickandmorty()", "scale_color_simpsons()", "scale_color_startrek()",
                  "scale_color_uchicago()", "scale_color_ucscgb()")
#&#12300;ggsci&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;:ggplot2&#12391;&#20351;&#12360;&#12427;&#22615;&#33394;&#12467;&#12510;&#12531;&#12489;
GgScalFill <- c("scale_fill_aaas()", "scale_fill_d3()", "scale_fill_futurama()",
                   "scale_fill_igv()", "scale_fill_jco()", "scale_fill_lancet()",
                   "scale_fill_locuszoom()", "scale_fill_nejm()", "scale_fill_npg()",
                   "scale_fill_rickandmorty()", "scale_fill_simpsons()", "scale_fill_startrek()",
                   "scale_fill_uchicago()", "scale_fill_ucscgb()")
#&#12300;ggsci&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;:&#21454;&#37682;&#12459;&#12521;&#12540;&#12497;&#12524;&#12483;&#12488;&#12467;&#12510;&#12531;&#12489;
GgScalPal <- c("pal_aaas()", "pal_d3()", "pal_futurama()",
                  "pal_igv()", "pal_jco()", "pal_lancet()",
                  "pal_locuszoom()", "pal_nejm()", "pal_npg()",
                  "pal_rickandmorty()", "pal_simpsons()", "pal_startrek()",
                  "pal_uchicago()", "pal_ucscgb()")
#&#12300;ggsci&#12301;&#12497;&#12483;&#12465;&#12540;&#12472;:&#21454;&#37682;&#21508;&#12459;&#12521;&#12540;&#12497;&#12524;&#12483;&#12488;&#12398;&#33394;&#25968;
GgScalNO <- c(10, 10, 12, 51, 10, 9, 7, 8, 10, 12, 16, 7, 9, 26)
```

Column {data-width=500}
-------------------------------------
  ```{r}
selectInput('Colpal', 'Select Color Palette Name', GgSColName)

```

###&#21454;&#37682;&#12459;&#12521;&#12540;&#12497;&#12524;&#12483;&#12488;

```{r}
renderDataTable({
  ColCodeData <- eval(parse(text = paste0(GgScalPal[which(GgSColName == input$Colpal)], "(", GgScalNO[which(GgSColName == input$Colpal)], ")")))
  ColCodeData <- data.frame("ColerCode" = strtrim(ColCodeData, 7),
                               "Color" = rep("", length(ColCodeData)))
  datatable(ColCodeData, rownames = FALSE,
            options = list(pageLength = 10, lengthMenu = c(20, 40, 100))) %>%
    formatStyle("Color", valueColumns = "ColerCode",
                backgroundColor = styleEqual(ColCodeData[, 1], ColCodeData[, 1]))
})
```

Column {data-width=500}
-------------------------------------
  
  ###col&#12459;&#12521;&#12540;&#12497;&#12524;&#12483;&#12488;
  ```{r}
renderPlot({
  ggplot(TestData,
         aes(x = Data1, y = Data2, col = Group)) +
    geom_point(size = 10) +
    theme_bw() +
    eval(parse(text = GgScalCol[which(GgSColName == input$Colpal)])) +
    labs(title = paste0(GgScalCol[which(GgSColName == input$Colpal)], " &#12467;&#12510;&#12531;&#12489;"))
})
```

###fill&#12459;&#12521;&#12540;&#12497;&#12524;&#12483;&#12488;
```{r}
renderPlot({
  ggplot(TestData,
         aes(x = Data2, fill = Group)) +
    geom_histogram(stat = "count") +
    
    
    theme_bw() +
    eval(parse(text = GgScalFill[which(GgSColName == input$Colpal)])) +
    labs(title = paste0(GgScalFill[which(GgSColName == input$Colpal)], " &#12467;&#12510;&#12531;&#12489;"))
})
```

出力例


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

価格および発送可能時期は、変更される場合があります。購入時には、商品詳細ページに表示されている価格および発送可能時期が適用されます。
本サイト上に表示されるコンテンツは、Amazonによって提供されています。このコンテンツは、現状のまま提供され、変更または削除される場合があります。
Amazonのアソシエイトとして、からだにいいものは適格販売により収入を得ています。
タイトルとURLをコピーしました