0

特定の記号と色で点をプロットするプロットがあります。凡例にプロットとまったく同じ色と記号を表示したい。これは手動で行うことができますが、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)
4

1 に答える 1

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)
于 2012-09-07T16:16:56.763 に答える