0

Rで2つのアブラインをプロットしたいのですが、特定の値を条件としています。私がプロットしたいグラフの傾きは -1 で、値 50 までは y=50 を切片とします。その後、傾きは 0 で、その後はすべての x で切片 0 になります。

コード:

plot.new()
plot.window(xlim=c(0,100),ylim=c(0,100))
abline(a=50,b=-1)
##abline(a=0,b=0)
axis(1)
axis(2)
title(main="Graph")
title(xlab="X")
title(ylab="Y")
box()

通常のアブラインを使用すると、どちらかを取得できますが、重複することなく同じグラフに両方を追加する方法がわかりません。助けてください!

4

4 に答える 4

2

行の最初の部分では、関数lines()を使用して、x 値 (0 と 50) の開始値と終了値を指定し、y 値については線形回帰式を使用a+b*xします。2番目の部分は、開始と終了の座標を配置する機能でも作成できます。最初の行は、その行の始点と終点が既にある場合にも作成できます。a=50b=-1segments()segments()

plot.new()
plot.window(xlim=c(0,100),ylim=c(0,100))
lines(x=c(0,50),y=50-1*c(0,50))
segments(50,0,100,0)
于 2013-11-04T15:36:52.267 に答える
0

私がよく理解している場合は、切片が y=50 で勾配が -1 の x=0 から x=50 までの直線と、勾配が 0 の x=50 から x=100 までの直線が必要です。これには、abline() の代わりに lines() を使用できます。

plot.new()
plot.window(xlim=c(0,100),ylim=c(0,100))
lines(c(0,50,100), c(50,0,0))
axis(1)
axis(2)
title(main="Graph")
title(xlab="X")
title(ylab="Y")
box()
于 2013-11-04T15:36:53.973 に答える
0

segments関数whoを使ってみてはどうですか?Draw line segments between pairs of points.

plot.new()
plot.window(xlim=c(0,100),ylim=c(0,100))
#abline(a=50,b=-1)
#abline(a=0,b=0)
segments(0,50,50,0)
segments(50,0,100,0)
axis(1)
axis(2)
title(main="Graph")
title(xlab="X")
title(ylab="Y")
box()

プロットは次のようになります。ここに画像の説明を入力

于 2013-11-04T15:37:20.880 に答える
0

ablineclipfrom plotrixを使用したソリューションは次のとおりです。

plot(1, type='n', xlim=c(0,100), ylim=c(0,100),
   xlab="X", ylab="Y")
library(plotrix)
ablineclip(50,-1, x1=0, x2=50)
ablineclip(0,0,x1=50, x2=100)
于 2013-11-05T09:19:37.487 に答える