`plot()`中的选项`lty`无法正常工作

时间:2014-01-07 16:32:37

标签: r plot

我正在尝试将图表生成为中断线。但令我惊讶的是,函数lty=2中的选项plot()无效:

plot(1:10,lty=2) 

有人可以帮助我吗?

2 个答案:

答案 0 :(得分:7)

为什么会这样?您正在绘制积分lty仅影响线条的绘制。例如,它确实有用;

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

给出了

enter image description here

我在这里选择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)

产生

enter image description here

您不需要单独的plot()来电,只需忽略对add = TRUE的调用的symbols()部分,但如果您这样做,则会给出不同的轴限制情节与上面plot()得到的情节相比较。

symbols(1:10, 1:10, circles = rep(0.1, 10), lty = 2, inches = FALSE)

答案 1 :(得分:3)

您需要指定要使用type="l"绘制线条。默认情况下,plot将使用积分。

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