仅使用水平线绘制阶梯函数

ptv*_*awe 3 r ggplot2

我使用ggplot2来绘制步进函数geom_step().我现在需要的是摆脱垂直线.这应该是数学中一个非常普遍的问题,至少......

文档没有提到这样的可能性.

在某处有隐藏的参数,还是我需要以某种方式转换数据,以便为每个数据点打印单独的行?

TL; DR:

ggplot(data,aes(x,y))+geom_step()

ggplot(data,aes(x,y))+geom_step(lines=horizontal)

Adr*_*ian 6

仔细阅读这个例子.您可能想要删除vline并使用各种参数 - 请参阅http://docs.ggplot2.org/current/.

library(ggplot2)
df <- data.frame(x=seq(0, 10), y=cumsum(rnorm(11)))
df$xend <- c(df$x[2:nrow(df)], NA)
df$yend <- df$y
p <- (ggplot(df, aes(x=x, y=y, xend=xend, yend=yend)) +
      geom_vline(aes(xintercept=x), linetype=2, color="grey") +
      geom_point() +  # Solid points to left
      geom_point(aes(x=xend, y=y), shape=1) +  # Open points to right
      geom_segment())  # Horizontal line segments
p
Run Code Online (Sandbox Code Playgroud)

ggsave的输出