如何将lwd用于特定点

时间:2016-01-31 03:51:33

标签: r plot lines

我想在R Plot中改变两点[(4,1)和(5,0)]之间的直线厚度。

x <- c(1, 2, 3, 4, 5, 6, 7, 8, 9)
y <- c(0, 1, 0, 1, 0, 1, 0, 1, 0)

plot(x, y, type="b", ann = FALSE, axes = FALSE, pch = 20, lwd=ifelse(x>=4 & x<=5, 3, 1))

但是,我只能让分数更浓。我还需要使线条更粗。你们可以告诉我我错在哪里吗?

Plot

我尝试使用线条和线段。我得到了一条触及这两点的线。但是,我需要更粗的线与其他线的长度相同。 enter image description here

使用lines解决 enter image description here

3 个答案:

答案 0 :(得分:2)

使用情节,lines无法接受矢量。您可能想尝试使用plot(x, y, type="b", ann = FALSE, axes = FALSE, pch = 20) lines(x[4:5], y[4:5], lwd = 3, type = "b") 而不是

{{1}}

答案 1 :(得分:1)

细分取(x0,y0)并绘制为(x1,y1)

$request

答案 2 :(得分:0)

单凭{p> plot实际上无法做到你想要的。您需要致电plot然后segments

XMIN = 4
XMAX = 5

plot(x, y, type="b", ann = FALSE, axes = FALSE, pch = 20)
xinds = x>=XMIN & x<=XMAX
segments(x[xinds][1:sum(xinds)-1],y[xinds][1:sum(xinds)-1],
         x[xinds][2:sum(xinds)],y[xinds][2:sum(xinds)], lwd=3)