2016-09-26 65 views
-1

見例如:如何在ggplot2中註釋這樣的行?

Example

我希望我並不需要手動指定文本的協調員。如果這在ggplot2中實現過於複雜,R中有哪些替代方案?或者甚至可能不在R?

+2

可以使用['ggrepel'](https://cran.r-project.org/web/packages/ggrepel/vignettes/ggrepel.html)生成類似這樣的東西。一個可重複的例子將更多地邀請實際的答案。 – Axeman

+0

爲什麼不使用默認圖例?替代品可以手動添加文字到最後的情節。 – zx8754

回答

1

正如@Axeman所說,ggrepel是一個體面的選擇。不幸的是,它只會避免與其他標籤重疊,而不是線條,因此解決方案並不完美。

library(ggplot2) 
install.packages("ggrepel") 
library(ggrepel) 

set.seed(50) 
d <- data.frame(y = c(rnorm(50), rnorm(50, 5), rnorm(50, 10)), 
    x = rep(seq(50), times = 3), 
    group = rep(LETTERS[seq(3)], each = 50)) 

ggplot(d, aes(x, y, group = group, label = group)) + 
    geom_line() + 
    geom_text_repel(data = d[d$x == sample(d$x, 1), ], size = 10) 
+0

我得到錯誤:「zero_range(from)中的錯誤:x必須是長度1或2」 – Jfly

+0

您「得到了」?但是你沒有提供任何數據,所以我們不知道「」已經完成到「」。 (這就是我對這個問題倒戈的基礎。) –

+0

我從他的上面的代碼中得到了錯誤.... .... OMG .... – Jfly