2012-05-20 11 views
10

私は比較的新しいggplot2を使用しています。輪郭に適切なラベルを追加することができません。上記の例では R:direct.labelを使用して特定の輪郭にラベルを付ける方法

library(plyr) 
library(ggplot2) 
library(directlabels) 
library(reshape) 
volcano<-melt(volcano) 
v<-ggplot(volcano, aes(x,y,z=z)) 
e<-v + stat_contour(aes(colour=..level..)) 
direct.label(e) 

は、ラベルが適切に追加されますが、私は自分自身を指定しようとすると、物事をより複雑になる:、私はデフォルトの等高線図にラベルを追加することができます古典的な火山の例を使用して

e<-v + stat_contour(aes(breaks=c(160, 170, 180), colour=..level..)) 
direct.label(e) 

さて、輪郭は私が提供した休憩によって指定されますが、ラベルはまだデフォルトの輪郭のすべてについて表示されます。等高線のポイントを破ります。グラフ化された等高線のラベルのみをプロットするにはどうすればよいですか?

関連する問題は、デフォルトでは含まれていない輪郭レベルのラベルをどのようにプロットするのですか? 165:

e<-v + stat_contour(aes(breaks=c(165), colour=..level..)) 
direct.label(e) 

ありがとうございました!

+2

そのdirect.labelを注目にその価値は()directlabelsパッケージです。 –

+0

ええ、それを指摘してくれてありがとう。 –

+0

この質問を再投稿するか、それともまだ見ている人ですか? –

答えて

3

私はこのような簡単な修正で未回答の古い質問を見ることができませんでした。

単純な問題は、stat_contour()の内部のマッピングでした。あなたの呼び出しは次のようになります。

v<-ggplot(volcano, aes(x=X1,y=X2,z=value)) # specify the mapping properly 
e<-v + stat_contour(aes(colour=..level..), breaks=c(160, 170, 180)) 
direct.label(e) 

休憩AESマッピングに含まれ、かつcolour=..level..が含まれていないと。

enter image description here

+4

'ggplot2'バージョン'> 2.0.0'では動作しません。 – jaimedash

関連する問題