我有一个用特定符号和颜色绘制点的图。我希望我的图例能够显示与图中完全相同的颜色和符号。我可以手动执行此操作,但是我有超过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)
答案 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)