2016-10-20 6 views
1

これは、与えられた例では、米国とドイツの大統領であるearlier postggplotのタイムラインは - データが縦に

に関し、表示したいと思います。

ggplotを使用して独自のタイムラインを作成するとき。タイムラインタグは重複しています。助けてください。私は、x軸に沿った間隔が長い(私は1日だけ離れて発生するイベントがある)か、水平線の上下に交互にタグが45度傾いているようにしたいと思います。事前にあなたの助けのためのenter image description here

ありがとう:

x <- data.frame(Entity = rep(c("Samsung", "Consumer", "Other"), each=3), 
       event = c("Note7 unveiled", "Sales in 10 markets", 
          "First battery fire", "Delay of Note7 shipped", 
          "Note7 China sales", "Global recall", 
          "FAA warns passengers", "Formal recall", 
          "Samsung being sued re burns"), 
       Year2016 = as.Date(c("2016-08-02", "2016-08-19", "2016-08-24", 
            "2016-08-31", "2016-09-01", "2016-09-02", 
            "2016-09-08","2016-09-15", "2016-09-16"))) 
library(ggplot2) 

ggplot(x, aes(x=Year2016, y=Entity)) + 
geom_line() + 
geom_point() + 
geom_text(aes(label=event), hjust=0, vjust=0) + 
xlim(c(min(x$Year2016), max(x$Year2016)+10*0.25)) 

そして、ここでは、プロットです:ここでは

は、私が持っているものです。

+1

そんなにjazzurroとhrbmstrありがとう – hrbrmstr

答えて

1

hrbrmstrが示唆しているように、ggrepelパッケージはこの場合にうまく動作します。このようなことをしようとしています。

library(ggplot2) 
library(ggrepel) 

ggplot(x, aes(x=Year2016, y=Entity)) + 
geom_line() + 
geom_point() + 
geom_text_repel(aes(label = event), 
       segment.size = 0.5, 
       size = 2, 
       arrow = arrow(length = unit(0.02, 'npc')), 
       nudge_x = -1, 
       nudge_y = 0.5) + 
xlim(c(min(x$Year2016), max(x$Year2016)+10*0.25)) 

enter image description here

+0

'ggrepel'パッケージを見てみましょう。非常に役立ちます。 – KMO

関連する問題