我试图将图形生成为中断线.但令我惊讶的lty=2是,函数中的选项plot()不起作用:
plot(1:10,lty=2)
Run Code Online (Sandbox Code Playgroud)
有人能帮我吗?
为什么会这样?你在画点.lty只会影响线条的绘制.例如,如果您这样做,它确实有效;
plot(1:10, type = "b", lty = 2)
Run Code Online (Sandbox Code Playgroud)
这使

我选择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, ...)
Run Code Online (Sandbox Code Playgroud)
这表示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)
Run Code Online (Sandbox Code Playgroud)
哪个产生

你不需要单独plot()调用,只需省去调用的add = TRUE部分symbols(),但是如果这样做,它会给出不同的轴限制,与plot()上面的相比.
symbols(1:10, 1:10, circles = rep(0.1, 10), lty = 2, inches = FALSE)
Run Code Online (Sandbox Code Playgroud)