5

このコードを使用して、このプロットを作成しました。

plot(p, cv2,col=rgb(0,100,0,50,maxColorValue=255),pch=16, 
     panel.last=abline(h=67,v=1.89, lty=1,lwd=3))

私のプロットは次のようになります。 プロット

1.) アブラインの値を単純なプロットにプロットするにはどうすればよいですか?

2.) 両方の線が中央に表示されるようにプロットをスケーリングするにはどうすればよいですか?

4

2 に答える 2

6

線が中央になるようにプロットのスケールを変更するには、軸を変更します。

x<-1:10
y<-1:10
plot(x,y)
abline(a=1,b=0,v=1)

changed to:

x<-1:10
y<-1:10
plot(x,y,xlim=c(-30,30))
abline(a=1,b=0,v=1)

「値」とは、線がx軸を切る場所を意味していると思いますか? みたいなtext?すなわち:

text((0), min(y), "number", pos=2) 

x軸にラベルが必要な場合は、次を試してください:

abline(a=1,b=0,v=1)
axis(1, at=1,labels=1)

ラベル間の重複を防ぐために、ゼロを削除できます。

plot(x,y,xlim=c(-30,30),yaxt="n")
axis(2, at=c(1.77,5,10,15,20,25))

またはプロットする前にマージンを拡張し、軸からさらにラベルを追加します

par(mar = c(6.5, 6.5, 6.5, 6.5))
plot(x,y,xlim=c(-30,30))
abline(a=1,b=0,v=1)
axis(2, at=1.77,labels=1.77,mgp = c(10, 2, 0))
于 2012-05-11T11:41:12.203 に答える
0

@ user1317221によって提案された回答と精神的に似ていますが、ここに私の提案があります

# generate some fake points
x <- rnorm(100)
y <- rnorm(100)

# positions of the lines
vert = 0.5
horiz = 1.3

プロットの中心に線を表示するには、最初にデータ点と線の間の水平距離と垂直距離を計算してから、範囲を適切に調整します。

# compute the limits, in order for the lines to be centered
# REM we add a small fraction (here 10%) to leave some empty space, 
# available to plot the values inside the frame (useful for one the solutions, see below)
xlim = vert + c(-1.1, 1.1) * max(abs(x-vert))
ylim = horiz + c(-1.1, 1.1) * max(abs(y-horiz))

# do the main plotting
plot(x, y, xlim=xlim, ylim=ylim)
abline(h=horiz, v=vert)

これで、「線の値」を軸上にプロットできます (lineパラメーターを使用すると、オーバーラップの可能性を制御できます)。

mtext(c(vert, horiz), side=c(1,2))

またはプロット フレーム内:

text(x=vert, y=ylim[1], labels=vert, adj=c(1.1,1), col='blue')
text(x=xlim[1], y=horiz, labels=horiz, adj=c(0.9,-0.1), col='blue')

HTH

于 2012-05-11T13:58:06.860 に答える