R 使用垂直和水平线段绘制直线图

R 使用垂直和水平线段绘制直线图,r,dataframe,R,Dataframe,我有下表 >Anna from to values 5 10 34 10 14 45 14 23 46 23 34 54 所以我想做一个线图,它在x轴上有from和to值,在y轴上有结果 更详细地说,我需要在值5(从)上有一个点,然后在高度34(y轴)处有一条线到一个点10(到),然后在y轴的45值处,这条线从点10到14。函数segmen

我有下表

>Anna
    from     to      values
    5        10       34
   10       14       45
   14       23       46
   23       34       54
所以我想做一个线图,它在x轴上有from和to值,在y轴上有结果


更详细地说,我需要在值5(从)上有一个点,然后在高度34(y轴)处有一条线到一个点10(到),然后在y轴的45值处,这条线从点10到14。

函数
segments
绘制线段

> mydata
  from to values
1    5 10     34
2   10 14     45
3   14 23     46
4   23 34     54

plot(NA,xlim=c(0,40),ylim=c(0,60))
points(values~from,data=mydata)
points(values~to,data=mydata)
segments(mydata$from,mydata$values,mydata$to,mydata$values)

您可以使用
type=“s”
选项绘制阶跃函数。 (如果需要点,可以在后面添加
。)

#示例数据

n非常感谢!!!!!然而,有没有一种方法可以在中间的空白处也画线?例如,在值10中,我想要一条垂直线连接两条水平线(结果34和45)Aha,然后我将使用type='s'
# Sample data
n <- 10
instants <- c(0, cumsum(rexp(n)))
d <- data.frame( 
  from = instants[1:n],
  to = instants[-1],
  value = cumsum(rnorm(n))
)

plot( c(d$from[1], d$to), c(d$value, d$value[n]), type="s" )