5

これはおそらく簡単な質問ですが、これに対する解決策を見つけることができません。

次のプロットがあります (plot() でポイントを埋めることができないため、プロット CI を使用しています)。

leg<-c("1","2","3","4","5","6","7","8")
Col.rar1<-c(rgb(1,0,0,0.7), rgb(0,0,1,0.7), rgb(0,1,1,0.7),rgb(0.6,0,0.8,0.7),rgb(1,0.8,0,0.7),rgb(0.4,0.5,0.6,0.7),rgb(0.2,0.3,0.2,0.7),rgb(1,0.3,0,0.7))
library(plotrix)
plotCI(test$size,test$Mean, 
pch=c(21), pt.bg=Col.rar1,xlab="",ylab="", ui=test$Mean,li= test$Mean)
legend(4200,400,legend=leg,pch=c(21),pt.bg=Col.rar1, bty="n", cex=1)

ここに画像の説明を入力

同じ効果を作成したいのですが、点ではなく線を使用します (連続線)

なにか提案を?

4

2 に答える 2

21

あなたには2つの解決策があります:

  1. 用途 このlines()関数は (x, y) の位置の間に線を引きます。
  2. 同様の行で使用 plotするtype = "l"

再現可能な例なしでそれを示すのは難しいですが、たとえば次のことができます:

Col.rar1<-c(rgb(1,0,0,0.7), rgb(0,0,1,0.7), rgb(0,1,1,0.7),rgb(0.6,0,0.8,0.7),rgb(1,0.8,0,0.7),rgb(0.4,0.5,0.6,0.7),rgb(0.2,0.3,0.2,0.7),rgb(1,0.3,0,0.7))

x <-  seq(0, 5000, length.out=10)
y <- matrix(sort(rnorm(10*length(Col.rar1))), ncol=length(Col.rar1))
plot(x, y[,1], ylim=range(y), ann=FALSE, axes=T,type="l", col=Col.rar1[1])

lapply(seq_along(Col.rar1),function(i){
  lines(x, y[,i], col=Col.rar1[i])
  points(x, y[,i])  # this is optional
})

ここに画像の説明を入力

于 2012-12-31T12:16:10.000 に答える
4

グループ化変数に従って線を接続するプロットを生成する場合は、base-R プロットから離れて、 および を確認しlatticeますggplot2。Base-R プロットには、xy プロットの「グループ」という単純な概念がありません。

簡単なlattice例:

library( lattice )
dat <- data.frame( x=rep(1:5, times=4), y=rnorm(20), gp=rep(1:4,each=5) )
xyplot( y ~ x, dat, group=gp, type='b' )

test定義したカラーベクトルに似た変数がある場合、このようなものを使用できるはずです。

于 2012-12-31T11:42:49.233 に答える