如何在点之间添加线条,而不“触碰”点,就像“type ='b'”一样?

5
我想在R语言绘图中,在点之间添加线条。 但不是在所有点之间。
因此我使用“lines”函数。 但我仍想保持“type='b'”风格,即线条停留在点的前面。
3个回答

10

如果你喜欢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()

这里输入图片描述


抱歉,doh - 大局观。 - Chase

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


0

您可以使用type='c'的lines函数,只需在点周围添加空格即可添加线条。只需将子集提供给lines函数,以便对其进行线条处理。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接