我正在制作类似于使用以下代码生成的图:
var1 <- sort(runif(10, 0, 1), decreasing = TRUE)
var2 <- sort(runif(10, 0, 1))
plot(var1, pch = 20, ylab = c("Var 1", "Var 2"))
points(var2, pch = 20, col = "grey")
有没有一种方法,仅使用R图形包,在Var 1
之前放置一个黑色圆圈,在y轴标签中放置一个灰色圆圈Var 2
,以避免插入图例?或者,在y轴上使用不同文本颜色(Var 1
为黑色,Var 2
为灰色)的方法?我尝试使用col.lab = c("black","grey")
,但它说Error in plot.window(...) : graphical parameter "col.lab" has the wrong length
。
非常感谢,
玛西亚
答案 0 :(得分:1)
我不确定如何将标记添加到标签上,但可以通过以下方式轻松实现颜色标记:
var1 <- sort(runif(10, 0, 1), decreasing = TRUE)
var2 <- sort(runif(10, 0, 1))
plot(var1, pch = 20, ylab = "")
points(var2, pch = 20, col = "grey")
mtext("Var 1", side=2, line=2)
mtext("Var 2", side=2, line=3, col="grey")
答案 1 :(得分:0)
这样的事情对你有用吗?它在左轴上有点忙,但我认为它显示了你所询问的内容。
> var1 <- sort(runif(10, 0, 1), decreasing = TRUE)
> var2 <- sort(runif(10, 0, 1))
> plot(var1, ylim = range(c(var1, var2)), pch = 20, ylab = "", axes = FALSE)
> points(var2, pch = 20, col = "grey")
> labs <- round(sort(c(var1, var2)), 1)
> axis(1)
> axis(2, at = sort(c(var1, var2)), labels = labs)
> sapply(var1, function(x) points(-0.1, x, pch = 20))
> sapply(var2, function(x) points(-0.1, x, pch = 20, col = "grey"))
> box()