要在字典R上调用的图例颜色

时间:2012-09-07 15:47:56

标签: r legend

我有一个用特定符号和颜色绘制点的图。我希望我的图例能够显示与图中完全相同的颜色和符号。我可以手动执行此操作,但是我有超过50个图表要生成,数据将会进行一致更新,因此我希望自动执行此过程。我试图创建一个字典,并想搜索字典。如果在levels(Color_test)中找到该值,则将图例中的符号着色为与字典中列出的相同。 我的传奇代码如下:

legend(legend_X, legend_Y,
    xjust=x_adj, yjust=y_adj,
    levels(Color_test), 
    col=Labels.col,
    pch=Labels.sym,
    horiz=FALSE)

1 个答案:

答案 0 :(得分:0)

您可能正在寻找的是某种将数据与字典合并的方式。以下是仅使用颜色的方法,因为它只是一个例子

data <- data.frame(type = sample(letters[1:3],20,replace=T),
                   x = runif(20),
                   y = runif(20))
dict <- data.frame(type = letters[1:4],
                   color = c("red","green","blue","black"))
plot(data$x, data$y, col = merge(data,dict)$color)
legend("topleft",legend=dict$type, col=dict$color, pch=1)

您可以轻松修改图例,以便显示实际使用的颜色。

data_dict <- merge(data,dict)
plot(y~x, col=color, data=data_dict, pch=as.vector(type))
legend("topleft",legend=unique(data_dict$type), col=unique(data_dict$color), pch=1)