web-dev-qa-db-ja.com

この散布図のポイントにラベルを付けるにはどうすればよいですか?

次のグラフにラベルを付けるのを手伝ってもらえますか?

http://img849.imageshack.us/img849/7594/snap1034.png

私が使用するコードは次のとおりです。

valbanks<-scan("banks.txt", what=list(0,0,""), sep="", skip=1, comment.char="#")
valbanks

valj2007<-valbanks[[1]]
valj2009<-valbanks[[2]]
namebank<-valbanks[[3]]

percent_losses<-(valj2009-valj2007)/valj2007
percent_losses

abs_losses<-(valj2007-valj2009)
abs_losses

plot(abs_losses, percent_losses,main="Absolute Losses vs. Relative Losses(in%)",xlab="Losses (absolute, in miles of millions)",ylab="Losses relative (in % of January´2007 value",col="blue", pch = 19, cex = 1, lty = "solid", lwd = 2,text(percet_losses, abs_losses,namebank))

text(percet_losses, abs_losses,labels=namebank, cex= 0.7, offset = 10)

データは次のとおりです。

Value_Jan_2007  Value_Jan_2009  Bank    #
49  16  Morgan_Stanley
120 4.6 RBS
76  10.3    Deutsche_Bank
67  17  Credit_Agricole
80  26  Societé_Generale
91  7.4 Barclays
108 32.5    BNP-Paribas
93  26  Unicredit
116 35  UBS
75 27   Credit_Suise
100 35  Goldman_Sachs
116 64  Santander
255 19  Citigroup
165 85  JP_Morgan
215 97  HSBC

どうもありがとうございました

ラベルを下、右、上、左、...に配置するオプションは何ですか?

要約: this post からの2番目のメッセージにあるようなグラフが欲しいのですが、そこにはコードがありません。

どのコードを入れる必要がありますか?


text(percet_losses, abs_losses,namebank)を入れた場合、何も得られません。グラフは変更なしで継続します。

配置する必要があるコードを教えてもらえますか?

ありがとう

50
Mika Ike

Xとyを逆にしたため、text()への呼び出しは何も出力しません。

plot(abs_losses, percent_losses, 
     main= "Absolute Losses vs. Relative Losses(in%)",
     xlab= "Losses (absolute, in miles of millions)",
     ylab= "Losses relative (in % of January´2007 value)",
     col= "blue", pch = 19, cex = 1, lty = "solid", lwd = 2)

text(abs_losses, percent_losses, labels=namebank, cex= 0.7)

ラベルを下、左、上、または右に移動したい場合は、引数pos=をそれぞれ1、2、3、または4の値で追加できます。たとえば、ラベルを上に配置するには:

 text(abs_losses, percent_losses, labels=namebank, cex= 0.7, pos=3)

enter image description here

もちろん、他の方向のいくつかのラベルが必要な場合は、posに値のベクトルを与えることができます(たとえば、Goldman_Sachs、UBS、およびSociété_Generaleは他のラベルと重複しているため):

 pos_vector <- rep(3, length(namebank))
 pos_vector[namebank %in% c("Goldman_Sachs", "Societé_Generale", "UBS")] <- 4
 text(abs_losses, percent_losses, labels=namebank, cex= 0.7, pos=pos_vector)

enter image description here

76
plannapus

ベクトルを単にプロットするには、次のコマンドを使用する必要があります。

text(your.vector, labels=your.labels, cex= labels.size, pos=labels.position)
2
Mohammad

テキストラベルを付けるためにdirectlabelsパッケージを試しました。散布図の場合、まだ完全ではありませんが、特に最終プロットではなくドラフトプロットを準備している場合は特に、手動で位置を調整するよりもはるかに優れています。

1
Ali

プロット関数内でlabels属性を使用する必要があり、この属性の値は、各ポイントに必要な値を含むベクトルでなければなりません。

0
Lucia Pasarin