2014-09-11 49 views
9

有用於定義爲「虛」,「longdash」中的R曲線定義6種線型... Link如何在R中爲圖定義更多的線型?

我如何可以定義更多類型的,如果我有更多的6系列情節?圖線可根據軟拷貝中的顏色進行區分,但不適用於黑白打印。

是否有更多的選項可供選擇,還是需要根據參考鏈接中的線條和點的組合來定義它們?

plot(x, type = "b", pch = 0, lty = "dotted") 

一些谷歌搜索建議的打開/關閉模式也可以與2個串,4個,6個或8個字符(非零十六進制字符,1-9和A-F)來指定和預設樣式爲「虛線」=「44」,「虛線」=「13」,「dotdash」=「1343」,「longdash」=「73」,「twodash」=「2262」

但似乎這將是一個很大的命中和試驗使用這種方法來定義,這將是基於B &W¯¯印刷區分新線類型

編輯:

如果點和線的風格相結合,我怎麼能以這樣的方式,他們可以輸入爲

plot(DF, ..., col = 1:ncol(DF), lty = 1:ncol(DF)) 
# where DF is the set of data to be plotted. 

非常感謝定義一組線類型。

+0

一種替代我經常在黑/白圖表中看到是使用不同的標記等三角形,正方形,圓形,加分,星號,空心圓沿與dotdash或虛線樣式。 – 2014-09-11 13:54:27

+0

是的,我在代碼中添加了pch是所用點的樣式。我想知道是否有一種方法可以用上述方式在顏色和黑白中起作用。 – Anusha 2014-09-11 13:56:51

回答

11

正如您在鏈接中提到的,合法值是字符串「空白」,「實心」,「虛線」,「虛線」,「點數」,「longdash」和「twodash」。或者,可以使用數字0到6(0表示「空白」,1表示「固體」,...)。

此外,人們也可以使用定義多達8 十六進制數字(每個數字指定的交織線和間隙的長度)的線型字符串。

這裏是一個例子,使用linetype aes在ggplot2等效於lty在基地R.這種方式,你可以得到超過6個預定義的類型。

library(ggplot2) 
d=data.frame(lt=c("blank", "solid", "dashed", "dotted", 
        "dotdash", "longdash", "twodash", "1F", 
        "F1", "4C88C488", "12345678")) 
ggplot() + 
    scale_x_continuous(name="", limits=c(0,1), breaks=NULL) + 
    scale_y_discrete(name="linetype") + 
    scale_linetype_identity() + 
    geom_segment(data=d, mapping=aes(x=0, xend=1, y=lt, yend=lt, linetype=lt)) 

enter image description here

說明:

"1F": dash length 1, gap length F (15) 
"F1": dash length F (15), gap length 1 
"4C88C488": dash (4), gap (C=12), dash (8), gap (8), dash (C=12), ... 
"12345678": dash (1), gap (2), dash (3), gap (4), ... 

PS:將溶液從這個link通過。

+0

感謝您的回覆。打印時會有不同的線條和12345678?理論上,有8位數字的組合很多,但它們在視覺上會有所不同嗎?如果我必須定義使用點,有沒有辦法創建一個線類型和顏色矢量也可能? – Anusha 2014-09-11 14:05:33

+0

如果你想更好地使用'points'來使用'pch'參數,你有0:18的符號,並且你可以使用一些字符來指定類似pch =「a」的點。 – agstudy 2014-09-11 14:15:41

+0

我可以創建一個線型向量,然後我可以使用lty = 1:N嗎?我如何使用pch定義這個向量? – Anusha 2014-09-11 14:17:15

0

這適用使用PCH = 1:NcoI位(DF)

# sample data 
dat <- matrix(runif(40,1,20),ncol=10) 
matplot(dat, type = "b", lty = "longdash", pch = 1:10, col = 1:10, lwd = 2)