私はを使用して2本の線をプロットしています
plot(x, y, type = "l", color = "red")
そして
points(x2, y2, type = "l", color = "blue")
(凡例ではなく)各行の横にラベルを追加できるようにしたい。 http://directlabels.r-forge.r-project.org/ のパッケージを使用して可能であると確信しています。
それでも、それを行う簡単な方法は見つかりません。
ポイント&クリックメソッドにより、locator()
内でtext()
を使用できます。
y <- rnorm(100, 10)
y2 <- rnorm(100, 20)
x <- 1:100
plot(x, y, type = "n", ylim = c(0, 40), xlim = c(0, 120))
lines(x, y)
lines(x, y2, col = "red")
text(locator(), labels = c("red line", "black line)"))
Locator()を使用する代わりに、ラベル座標をデータの関数にすることもできます。たとえば、Romanのデモに便乗します。
text(x=rep(max(x)+3, 2), y=c(mean(y), mean(y2)), pos=4, labels=c('black line', 'red line'))
ダイレクトラベルを使用するには、data.frameでデータを構造化してから、ggplot2、または以下の例ではラティスなどの高レベルのプロットシステムを使用する必要があります。
y <- rnorm(100, 10)
y2 <- rnorm(100, 20)
x <- 1:100
treatment <- rep(c("one group","another"),each=length(x))
df <- data.frame(x=c(x,x),y=c(y,y2),treatment)
library(lattice)
p <- xyplot(y~x,df,groups=treatment,type="l")
if(!require(directlabels)){
install.packages("directlabels")
library(directlabels)
}
print(direct.label(p))
print(direct.label(update(p,xlim=c(0,120)),last.points))
locator()
は、既存のグラフをクリックして座標を取得するインタラクティブな方法です。
locator()
を使用して、グラフ上のラベルの正しい座標を見つける方法について説明します。
ステップ1:グラフをプロットします:
_plot(1:100)
_
ステップ2:コンソールに次のように入力します。
_coords <- locator()
_
ステップ3:プロットを1回クリックしてから、プロットの左上にある_Stop .. Stop Locator
_をクリックします(これにより、制御がRコンソールに戻ります) )。
ステップ4:返された座標を見つけます:
_coords
$x
[1] 30.26407
$y
[1] 81.66773
_
ステップ5:これで、次の座標を使用して既存のプロットにラベルを追加できます。
_text(x=30.26407, y=81.66773,label="This label appears where I clicked")
_
または
_text(x=coords$x, y=coords$y,label="This label appears where I clicked")
_
結果は次のとおりです。
ラベルは、クリックした場所の中央に表示されます。クリックした場所の最初の文字でラベルが表示されると、より良い結果が得られます。正しいパラメーターを見つけるには、text
のヘルプを参照し、パラメーター_pos=4
_を追加してください。
_text(x=30,y=80,pos=4,label = "hello")
_
ノート:
legend()
を使用してラベルをプロットすることもできます(これにより、ラベルの周りにボックスが描画され、見栄えがよくなります)。ggplot2
_はグラフを作成するためのゴールドスタンダードであるため、プロットではなく_ggplot2
_に精通することをお勧めします。