如何在点之间添加线而不“触及”点,例如“type ='b'”?

时间:2011-05-19 20:49:23

标签: r plot line

我想在R中的绘图中的点之间添加线条。 但不是所有人之间。

所以我用“线”。 但我希望保持“type ='b'”风格,线条在该点之前停止。

3 个答案:

答案 0 :(得分:9)

如果ggplot是你的东西,请给它一个旋转。 ggplot本身不支持基本图形中的type = "b"。我们可以通过一些过度绘图和子集来解决这个问题:

library(ggplot2)
x <- seq(1, pi, pi/36)
y <- sin(x)
z <- data.frame(x,y)



ggplot(z, aes(x,y)) + 
    geom_line(data = subset(z, x > 1.5 & x < 2.5)) + 
    geom_point(size = 6, colour = "white") +
    geom_point(size = 3, colour = "black") +
    theme_bw()

enter image description here

答案 1 :(得分:5)

设置一些数据

x <- seq(1, pi, pi/36)
y <- sin(x)

使用所有点创建绘图

plot(x, y)

为某些点添加type="b"行:

lines(x[10:20], y[10:20], type="b")

enter image description here

答案 2 :(得分:0)

你可以使用带有type ='c'的lines函数来添加带有点周围空格的线条。只需为行功能提供您感兴趣的子集。