私はMLRパッケージのplotLearnerPrediction関数で素敵なプロットを作成しました。返されたggplotをいくつか調整することができました(私のコードは以下を参照してください)。しかし、最後の調整方法はわかりません。つまり、ラベル(サンプルプロットのグループ)に基づいてデータポイントの色付けを変更したいと考えています。色データポイントを変更するplotLearnerPrediction(MLR package)
My last plot (with black data points)
Another produced plot (overlapping data points)
これは私のコードの最後のバージョン(forループの通常の部分)である:以下
plot <- plotLearnerPrediction(learner = learner_name, task = tasks[[i]], cv = 0,
pointsize = 1.5, gridsize = 500) +
ggtitle(trimws(sprintf("Predictions %s %s", meta$name[i], meta$nr[i])),
subtitle = sprintf("DR = %s, ML = %s, CV = LOO, ACC = %.2f", meta$type[i],
toupper(strsplit(learner_name, "classif.")[[1]][2]), acc[[i]])) +
xlab(sprintf("%s 1", lab)) +
ylab(sprintf("%s 2", lab)) +
scale_fill_manual(values = colors) +
theme(plot.title = element_text(size = 18, face = "bold"),
plot.subtitle = element_text(size = 12, face = "bold", colour = "grey40"),
axis.text.x = element_text(vjust = 0.5, hjust = 1),
axis.text = element_text(size = 14, face = "bold"),
axis.title.x = element_text(vjust = 0.5),
axis.title = element_text(size = 16, face = "bold"),
#panel.grid.minor = element_line(colour = "grey80"),
axis.line.x = element_line(color = "black", size = 1),
axis.line.y = element_line(color = "black", size = 1),
panel.grid.major = element_line(colour = "grey80"),
panel.background = element_rect(fill = "white"),
legend.justification = "top",
legend.margin = margin(l = 0),
legend.title = element_blank(),
legend.text = element_text(size = 14))
plotLearnerPrediction機能のソースコードの一部です。私はgeom_point(color = "black")を覆いたい。単にgeom_point(color = "pink")を自分のコードに追加すると、データポイントは表示されませんが、プロット全体が色付けされます。色のベクトルでそのコードを覆すソリューションはありますか?おそらく、グループに基づいて色を変更するには、aes()の変更も必要です。
else if (taskdim == 2L) {
p = ggplot(mapping = aes_string(x = x1n, y = x2n))
p = p + geom_tile(data = grid, mapping = aes_string(fill = target))
p = p + scale_fill_gradient2(low = bg.cols[1L], mid = bg.cols[2L],
high = bg.cols[3L], space = "Lab")
p = p + geom_point(data = data, mapping = aes_string(x = x1n,
y = x2n, colour = target), size = pointsize)
p = p + geom_point(data = data, mapping = aes_string(x = x1n,
y = x2n), size = pointsize, colour = "black",
shape = 1)
p = p + scale_colour_gradient2(low = bg.cols[1L],
mid = bg.cols[2L], high = bg.cols[3L], space = "Lab")
p = p + guides(colour = FALSE)
}
ありがとうございました。あなたはこの解決策に取り組んでいますか?https://stackoverflow.com/questions/45755867/change-color-and-legend-of-plotlearnerprediction-ggplot2-object これはグリッドの色を変更するだけで、すでに私のコード。または私は何かを逃していますか? –
そうですね、プロットはどのように正確に見えますか? –
問題をより明確にするために、元の質問に2番目のサンプルプロットを追加しました。あなたが見ていると、データポイントが重なっていることがわかります。彼らはすべて黒であるので、プロットは実際にはっきりしていないので、私はデータポイントの色を変更したい。各クラスタは同じ色を取得し、データポイントをよりよく理解するのに役立ちます。 –