Rで解析:プロットのアウトラインとハイライトが簡単に作成「ggtrace」パッケージ

Rの解析に役に立つ記事
スポンサーリンク

LinePlot、StepPlot、PointPlot、Pathで指定範囲のアウトラインとハイライトを簡単に設定できるパッケージの紹介です。「ggplot2」パッケージのコマンドと組み合わせて利用が可能です。非常に便利なパッケージだと思います。

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

スポンサーリンク

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

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

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

実行コマンド

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

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

###データ例の作成#####
#tidyverseパッケージがなければインストール
if(!require("tidyverse", quietly = TRUE)){
  install.packages("tidyverse");require("tidyverse")
}
set.seed(1234)
n <- 30
GName <- paste0("Group", 1:3)
TestData <- tibble(Group = rep(GName, each = n),
                   Day = rep(1:n, time = length(GName)),
                   X = sample(c(1:50), n*length(GName), replace = TRUE),
                   Y = sample(c(51:100), n*length(GName), replace = TRUE))
########

#LinePlot&#12398;&#12450;&#12454;&#12488;&#12521;&#12452;&#12531;&#12392;&#12495;&#12452;&#12521;&#12452;&#12488;&#12434;&#20316;&#25104;:geom_line_trace&#12467;&#12510;&#12531;&#12489;
#&#39006;&#20284;&#12395;geom_path_trace&#12467;&#12510;&#12531;&#12489;&#12364;&#12354;&#12426;&#12414;&#12377;
ggplot(TestData, aes(x = Day, y = Y, fill = Group)) +
  
  #geom_line_trace&#12467;&#12510;&#12531;&#12489;
  geom_line_trace(
    #&#12450;&#12454;&#12488;&#12521;&#12452;&#12531;&#31684;&#22258;&#12434;&#35373;&#23450;:trace_position&#12458;&#12503;&#12471;&#12519;&#12531;
    #grepl("^[A-Z]A", name)&#12394;&#12393;&#27491;&#35215;&#34920;&#29694;&#12391;&#12418;&#25351;&#23450;&#21487;&#33021;
    trace_position = Day <= 10 | Day >= 20,
    
    #&#12450;&#12454;&#12488;&#12521;&#12452;&#12531;&#31684;&#22258;&#12398;&#26360;&#24335;&#12434;&#35373;&#23450;:background_params&#12458;&#12503;&#12471;&#12519;&#12531;
    #list&#24418;&#24335;&#12391;&#25351;&#23450;&#12375;&#12414;&#12377;
    background_params = list(
      #&#32218;&#32257;&#12398;&#33394;
      color = "red",
      #&#32218;&#12398;&#33394;
      fill = "grey75",
      #&#32218;&#12398;&#22826;&#12373;
      size = 1,
      #&#32218;&#32257;&#12398;&#22826;&#12373;
      stroke = 0.5,
      #&#32218;&#31278;
      linetype = 1,
      #&#36879;&#26126;&#24230;
      alpha = 0.5),
    
    #&#12450;&#12454;&#12488;&#12521;&#12452;&#12531;&#31684;&#22258;&#20197;&#22806;&#12398;&#12495;&#12452;&#12521;&#12452;&#12488;&#26360;&#24335;
    color = "#4b61ba", size = 1, stroke = 1,
    linetype = 1, alpha = 1) +
  theme(plot.background = element_rect(fill = "black"),
        panel.background = element_rect(fill = "black"),
        axis.text = element_text(colour = "white"))



#StepPlot&#12398;&#12450;&#12454;&#12488;&#12521;&#12452;&#12531;&#12392;&#12495;&#12452;&#12521;&#12452;&#12488;&#12434;&#20316;&#25104;:geom_step_trace&#12467;&#12510;&#12531;&#12489;
ggplot(TestData, aes(x = Day, y = Y, fill = Group)) +
  #geom_step_trace&#12467;&#12510;&#12531;&#12489;
  #&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;geom_line_trace&#12467;&#12510;&#12531;&#12489;&#12392;&#20849;&#36890;
  geom_step_trace(
    trace_position = Day <= 10 | Day >= 20,
    background_params = list(color = "red", fill = "grey75",
                             size = 1, stroke = 0.5,
                             linetype = 1, alpha = 0.5),
    color = "#4b61ba", size = 1, stroke = 1,
    linetype = 1, alpha = 1) +
  theme(plot.background = element_rect(fill = "black"),
        panel.background = element_rect(fill = "black"),
        axis.text = element_text(colour = "white"))


#PointPlot&#12398;&#12450;&#12454;&#12488;&#12521;&#12452;&#12531;&#12392;&#12495;&#12452;&#12521;&#12452;&#12488;&#12434;&#20316;&#25104;:geom_point_trace&#12467;&#12510;&#12531;&#12489;
ggplot(TestData, aes(x = X, y = Y, fill = Group)) +
  #geom_point_trace&#12467;&#12510;&#12531;&#12489;
  #&#12458;&#12503;&#12471;&#12519;&#12531;&#12399;geom_line_trace&#12467;&#12510;&#12531;&#12489;&#12392;&#20849;&#36890;
  geom_point_trace(
    trace_position = Day <= 10 | Day >= 20,
    background_params = list(color = "red", fill = "yellow",
                             size = 8, stroke = 0.5,
                             linetype = 1, alpha = 0.5),
    color = "#4b61ba", size = 1, stroke = 1,
    linetype = 1, alpha = 1) +
  theme(plot.background = element_rect(fill = "black"),
        panel.background = element_rect(fill = "black"),
        axis.text = element_text(colour = "white"))

出力例

・geom_line_traceコマンド

・geom_step_traceコマンド

・geom_point_traceコマンド


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

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