2017-12-20 31 views
2

最近、geom_lineプロットで多くのことを扱っています。クラス日付の軸を持つプロットに注釈を付ける最も簡単な方法は何ですか?日付変数を別のクラスに変換する以外の方法はありますか?軸がクラス 'date'のときにggplot2で注釈を付ける

ここに私のコードです:私は2017から10にある最後のデータポイントに注釈を付けるたい

china_trades %>% 
    filter(type %in% c("Imports")) %>% 
    ggplot() + 
    geom_line(aes(x = month, y = dollars, group = 1)) + 
    theme_minimal() 

と48

ここに私のプロットです: enter image description here

+0

あなたが試してみましたが、どのようにそれが機能しなかったかを説明することはできますか? – Roland

+0

'annotation'関数' annotation( "text"、x = "2017-07"、y = 48、label = "Some text") ' – Tdebeus

+0

を使用したいと思います。' month'はクラス 'Date' (本当か?)。つまり、文字ではなく、日付を 'annotate'(正しい関数名に注意してください)に渡す必要があります。 – Roland

答えて

2

たぶん誰かがすることができますこれを行う純粋なggの方法でチャイムインしますが、directlabelsパッケージには次の機能があります。

china_trades %>% 
    filter(type %in% c("Imports")) %>% 
    ggplot() + 
    geom_line(aes(x = month, y = dollars, group = 1)) + 
    theme_minimal() + 
    geom_dl(aes(label = month), method = list(dl.combine("last.points"))) 

編集:ここでは注釈を使用したGGの方法です:

x <- as.Date(c('2016-1-1','2016-1-2','2016-1-3','2016-1-4')) 
y <- c(4,1,2,3) 
df <- data.frame(x,y) 

lastDate<- max(x) 
lastDateY <- df[x==lastDate,2] 

ggplot(df) + 
    geom_line(aes(x = x, y = y)) + 
    annotate(geom='text', x=lastDate,y=lastDateY, vjust=-2, label="China") 

enter image description here

+0

あなたの答えをありがとう、私は確かにggの方法を望んでいた。 – Tdebeus

+0

ggの方法を追加しました。あなたのDFがなければ私は元のプロットを再現することはできませんが、そこに着くことができるはずです。 gridExtraパッケージを使用して、ラベルがエッジからはみ出しているチャートを作成できます。これは、このような折れ線グラフの最後のポイントにラベルを付ける場合に便利です。 –

関連する問題