为R中的图定义了6种线类型,定义为“虚线”,“longdash”...... Link
如果我要绘制更多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 :(得分:11)
正如您在链接中提到的,合法值是字符串"空白","固体","虚线","点缀&#34 ;," dotdash"," longdash"和" twodash"。或者,可以使用数字0到6(0表示"空白",1表示"固体",...)。
此外,还可以使用定义线型的字符串,最多包含 8个十六进制数字(每个数字指定交错行和间隙的长度)。
这是一个示例,在基数为R的linetype
中使用ggplot2
等同于lty
。这样,您可以获得超过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))
说明:
"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采用的。
答案 1 :(得分:0)
这可以使用pch = 1:ncol(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)