我正在尝试将图绘制为间断线。但是令我惊讶的是,函数lty=2中的选项plot()不起作用:

plot(1:10,lty=2)

有人能帮我吗?

最佳答案

为什么会这样?您在画点。 lty仅影响线条的绘制。例如,它确实可以工作。

plot(1:10, type = "b", lty = 2)

这使

我在这里选择type = "b"来说明区别;它意味着线和点。注意lty如何影响线部分,而不影响点本身。如果您查看?plot.default,您会看到
 plot(x, y = NULL, type = "p",  xlim = NULL, ylim = NULL,
      log = "", main = NULL, sub = NULL, xlab = NULL, ylab = NULL,
      ann = par("ann"), axes = TRUE, frame.plot = axes,
      panel.first = NULL, panel.last = NULL, asp = NA, ...)

如果用户未指定,则默认为type = "p"(用于点)。

这些点是使用字体字符或字形绘制的,而不是使用缠绕成圆圈的线绘制的。这些点的字符与绘图上的任何其他文本字符一样(例如,轴和刻度标签)。由于它们不是使用线条绘制的,因此lty不会影响它们。
symbols()是使用线绘制点的替代功能。例如
plot(1:10, type = "n")
symbols(1:10, 1:10, circles = rep(0.1, 10), lty = 2, inches = FALSE, add = TRUE)

产生

您不需要单独的plot()调用,只需将对add = TRUE的调用的symbols()部分忽略掉,但是如果您这样做,与上面的plot()获得的坐标轴限制相比,它在绘图上给出了不同的轴限制。
symbols(1:10, 1:10, circles = rep(0.1, 10), lty = 2, inches = FALSE)

关于r - plot()中的选项lty不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20976881/

10-12 19:11