我有一个数据框,我想在数据框中绘制一个列。我希望我希望沿着列的某些范围在图中是不同的颜色。例如:情节应为黑色,但从位置1:100应该是不同的颜色。
理想情况下,这将是我可以实现的功能。数据框看起来像这样,我想绘制第4列,我想在R中使用plot来做到这一点。
V1 V2 V3 V4 V5 newcol
1 ENSMUST00000000001 0 6692 3262 66.819600 0
2 ENSMUST00000000010 0 33 2574 0.065572 0
3 ENSMUST00000000028 0 3648 2143 39.598600 0
答案 0 :(得分:2)
这是使用基本图形的一种方式。您只需添加一个列,该列根据行号创建类别,然后按该类别对点进行着色。在这种情况下,我使用颜色值(使用hcl
函数创建)作为类别名称,但您当然可以使用您喜欢的任何颜色函数或值。
dat = data.frame(y=rnorm(100))
dat$row.cut=cut(as.numeric(rownames(dat)),
breaks=c(0,25,50,75,100),
labels=hcl(seq(15,275,length.out=4), 100,65))
plot(dat$y, pch=16, col=as.character(dat$row.cut))
您还可以动态指定颜色,而无需在数据框中创建新变量。例如:
plot(dat$y, pch=16, col=ifelse(rownames(dat) %in% c(26:50, 75:85),
hcl(15,100,65),
hcl(195,100,65)))
答案 1 :(得分:0)
感谢您的上述回复。我发现这很好用。
start = 0; end = 500; col = 'blue'
plot(file$V4, type='l')
clip(x1=start,x2=end,y1=0,y2=max(file$V4))
lines(file$V4, col=col, type='l')