将覆盖率绘制为R中的值

时间:2015-05-20 15:17:13

标签: r plot

我在绘制x轴时对y轴有两个值有疑问。

我的数据:

Start End Value

20     50   0.45
50     75   0.67
75     100  1.99
...    ....  N

现在我想绘制x轴及其范围(即25-50及其对应值),而不是采用单个变量(25或50)。

所以情节会是这样的:

target plot

1 个答案:

答案 0 :(得分:0)

这听起来像你想要的那样:

df <- data.frame(start=c(20,50,75,150), end=c(50,75,150,250), value=c(0.45,0.67,1.99,1.5) );
df;
##   start end value
## 1    20  50  0.45
## 2    50  75  0.67
## 3    75 150  1.99
## 4   150 250  1.50
xtick <- seq(floor(min(df$start)/10)*10,ceiling(max(df$end)/10)*10,10);
ytick <- seq(0,ceiling(max(df$value)),0.1);
par(xaxs='i',yaxs='i');
plot(NA,xlim=c(min(xtick),max(xtick)),ylim=c(min(ytick),max(ytick)),axes=F,xlab='',ylab='');
rect(df$start,0,df$end,df$value,col=1:nrow(df));
axis(1,xtick);
axis(2,ytick);

plot