我想将基本图形用于1:10
,其中点形状在加号(即+
)和三角形之间交替。
以下代码plot(1:10, pch = c("+",2))
可能会起作用。这是因为pch=2
对应于三角形。但是,代码会产生:
这当然是因为c()
函数强制2
到一个字符。我的问题是,如何将字符串和整数传递给pch?
谢谢!
答案 0 :(得分:2)
虽然如果你能为你想要的文本找到一个合适的pch=
参数,@ Pascal的答案可以正常工作,你仍然可以通过多次调用points
来使用任意文本:< / p>
x <- 1:10
shapes <- list("Y",2)
plot(x,type="n")
Map(points, split(data.frame(seq_along(x), x), seq_along(shapes)), pch=shapes )
或者使用一些技巧将所有内容转换为数字:
plot(x, pch=sapply(shapes, function(x) if(is.character(x)) strtoi(charToRaw(x),16L) else x))