2014-01-07 56 views

回答

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()電話,只是離開了呼叫symbols()add = TRUE一部分,但如果你這樣做,它給與上面獲得的plot()相比,繪圖上的不同軸限制。

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

令人驚訝的是徹底回答了一個非常基本的問題... –

4

您需要指定您想用type="l"繪製線條。默認plot將使用積分。

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