2016-08-04 6 views
0

私はRが新しく、ggplot2です。私はggplot2と働いていて、私はcheck_overlap=TRUEが私のgeom_textに影響を与えるのに問題があります。ここに私のコードの例です:Check_overlapがggplot2で動作しない

require(ggplot2) 
LV_plot = ggplot(plotFrame,aes(x=Age,y=fit)) 
#... plotting other things 
my_text = geom_text(data=myDataFrame,mapping=aes(x=Age,y=myDataFrame$firstVolume, label=paste(myDataFrame$firstVolume)),angle=70,size=6,check_overlap=TRUE) 
LV_scatterNorm = geom_point(data=myDataFrame,aes(x=Age,y=firstVolume),size=4.0) 
LV_lineNorm = geom_line(data=myDataFrame,aes(x=Age,y=firstVolume),size=1.2) 

これは、複数のテキスト要素を作成しますが、check_overlap = TRUEは、彼らの重複には影響しません - 彼らはほとんどの時間をオーバーラップします。ここで

は私のデータです:

myDataFrame:

  firstVolume Age 
1   26502.54 56 
2   28335.54 57 

plotFrame:

Age  fit  se  sd 
1 43 10481.39 2555.560 16036.31 
2 44 11164.03 2390.339 16036.31 
3 45 11849.98 2225.044 16036.31 
4 46 12537.78 2063.854 16036.31 
5 47 13225.95 1910.410 16036.31 
6 48 13913.05 1767.397 16036.31 
7 49 14597.60 1636.212 16036.31 
8 50 15278.15 1516.911 16036.31 
9 51 15950.26 1408.477 16036.31 
10 52 16612.87 1315.257 16036.31 
...etc. 

私の結果は次のようになります。

enter image description here

これはR 3.1.1にあります。私は間違って何をしていますか?

(私はggrepelをインストールしようとしたが、ggrepelはR.のこのバージョンでは利用できませんようです)

ありがとう!

+1

サンプルデータと再現可能な例を教えてください。 http://stackoverflow.com/help/mcve –

+0

ggplot2の最新バージョンを使用していますか?あなたの例は私のために働いて、ラベルの1つを取り除いています。 – aosmith

+0

私はRの最新バージョンを使用していないので、最新ではないかもしれません。check_overlapは比較的新しい機能ですか? – Sarah

答えて

1

サンプルデータがないので、パッケージのサンプルデータを使って試しました。したがって、check_overlapは正常に動作します。

重複を避けることができない場合は、ラベルのサイズを小さくする必要があります。

require(ggplot2) 
data("mtcars") 
mtcars 
p <- ggplot(mtcars, aes(wt, mpg, label = rownames(mtcars))) 
p 

p + geom_text() 
# Avoid overlaps 
p + geom_text(check_overlap = TRUE) 

これで問題が解決しない場合は、再現可能な例を示してください。私はそれに応じて回答を更新します。

+0

ありがとうございます!私はサンプルコードを含めるように私の質問を更新しました。 – Sarah

関連する問題