折れ線グラフで各系列にラベルをつける際はgghighlightを用いるのが楽なんじゃなかろうか

こういうデータがあるとする。

library(dplyr)
library(ggplot2)
library(gghighlight)
ChickWeight_diet <- ChickWeight %>% group_by(Diet, Time) %>% summarise(weight = mean(weight))
> ChickWeight_diet
# A tibble: 48 x 3
# Groups:   Diet [?]
   Diet   Time weight
   <fct> <dbl>  <dbl>
 1 1         0   41.4
 2 1         2   47.2
 3 1         4   56.5
 4 1         6   66.8
 5 1         8   79.7
 6 1        10   93.1
 7 1        12  109. 
 8 1        14  123. 
 9 1        16  145. 
10 1        18  159. 
# … with 38 more rows

折れ線グラフで各系列にラベルをつけたい。 いろいろやり方はあるが、gghighlightパッケージを用いるのが一番楽な印象。 gghighlight()の条件設定で全て該当するような条件を設定するのがポイント。 なお、筆者の環境はMacなので、日本語が文字化けするためlabel_paramsでMacの日本語フォントを指定している。

ggplot(ChickWeight_diet, aes(Time, weight, color=Diet)) + 
  geom_line() +
  gghighlight(max(weight)>0, label_params = list(family = "HiraKakuPro-W3"))

f:id:dichika:20190216193509p:plain

追記(2019/2/17) 開発者よりコメントいただき、条件設定は不要とのこと。

いかがでしたか?