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" )