2012-05-01 19 views
1

1つのステートメントで複数の凡例をプロットする方法を教えてください。 例:複数の凡例をプロットする

start <- seq(20,35, 5) 
end <- seq(39,42, 1) 
y <- seq(1,4,1) 
name <- c('a', 'b', 'c', 'd') 
plot(1, xlim=c(5,50), ylim=c(0,5)) 
rect(start, y, end, 1.1:4.1, col="black") 
legend(end[1],y[1], name[1], xjust=0, yjust=0.5) 
legend(end[2],y[2], name[2], xjust=0, yjust=0.5) 
legend(end[3],y[3], name[3], xjust=0, yjust=0.5) 
legend(end[4],y[4], name[4], xjust=0, yjust=0.5) 

最後の4行は、単一のコマンドにマージする必要があります。任意の助け

+0

うーん、伝説は、あなたが何をしたいあなたを与えるために伝説を悪用しようとしている場合ので、私は疑問に思う複数の行を行うことができます。あなたのコードによって生成された図形があなたが望むものと本当に似ているならば、 'text()'と 'rect()'を使ってそれを実現することができます。 –

+0

ああ、それは簡単です!テキストアドバイスのおかげで非常にありがとう! – biotom

+1

'legend'はボックス内にたくさんの情報を描画するように設計されているので、グラフ上の異なる場所に複数の凡例ボックスを持つことは可能ですが、それぞれ独自のコード行が必要です。 (これはOTです - それはレイアウトユーザーではありません[randomnmber]が –

答えて

0

事前に ありがとうございますすることができ(双方endyの長さ1)の範囲1:4インデックスを使用してループ。これはsapplyを使用してRスタイルでforループ、またはそれ以上を使用して達成することができます。

sapply(seq_along(y), function(i) { 
    legend(end[i],y[i], name[i], xjust=0, yjust=0.5) 
}) 
+0

あなたの答えを少し拡大できますか?それは技術的には正しいですが、OPはあなたが何をしているのか分からないかもしれません。私はbtwでいくつかの詳細を編集しました。 –

関連する問題