2016-09-29 14 views
0

私はlayer_text要素を重ねてプロットチャート持っている:私はそれを読みやすくするテキストを相殺したいtext_layerでオーバーフローを避けるには?

data.frame(label=c("First", "Second","First","Second"), x=c(100,100,20,20),y=c(100,100,20,20)) %>% 
    ggvis(~x,~y) %>% 
    layer_text(text:=~label) 

を。私は==のときにyの値を微調整することを考えていましたが、チャートを光沢のあるアプリに入れて、2つ以上のオーバーラップするテキストがある可能性があります。だからこそ私は、より安定したソリューションを提供できるパッケージ/属性があるのか​​疑問に思っていました。

ソリューションは、次のようになります。

data.frame(label=c("First", "Second","First","Second"), x=c(100,100,20,20),y=c(100,98,20,18)) %>% 
    ggvis(~x,~y) %>% 
    layer_text(text:=~label) 

答えて

0

ラベルの配置は、悪名高いトリッキーな問題です。 ggrepelは素晴らしいアルゴリズムソリューションを実装していますが、ggvisでは利用できません。ggplot2のみです。

library(ggplot2) 
library(ggrepel) 
library(magrittr) 

data.frame(label=c("First", "Second","First","Second"), 
      x=c(100,100,20,20), 
      y=c(100,100,20,20)) %>% 
    ggplot(aes(x,y,label=label)) + 
    geom_text_repel() + 
    theme_bw() 

enter image description here

関連する問題