绘制线而不是点R.

Fra*_*sco 4 r

这可能是一个简单的问题,但我无法找到解决方案.

我有以下情节(我使用情节CI,因为我无法用plot()填充点).

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)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

我想创建相同的效果,但使用线条,而不是点(续行)

有什么建议吗?

ags*_*udy 19

你有2个解决方案:

  1. 使用此lines()功能在(x,y)位置之间绘制线条.
  2. plottype = "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
})
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


Kev*_*hey 5

当谈到生成您要根据一些分组变量连接线图,你想从基地-R图蒙混过关,并检查了latticeggplot2.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' )
Run Code Online (Sandbox Code Playgroud)

如果您的变量test与您定义的颜色矢量类似,那么您应该可以使用这样的东西.