[英]How to colour multiple geom_lines on a gradient using ggplot2 in R?
我在這里問了一個關於如何為 pdp-ice plot 着色的類似問題。 從那以后,我想出了一種通過預測值為圖着色的方法。 但是,我仍然遇到如何手動 select 顏色漸變的問題。 我正在使用iml
package 來創建預測......但我覺得這本質上是一個ggplot2
問題,因此,我打開了一個不同的問題。
在下面的示例中,我正在波士頓數據上創建一個隨機森林 model 並使用 rf model 在iml
中創建冰圖。
library("iml")
library("randomForest")
library(ggplot2)
# We train a random forest on the Boston dataset:
data("Boston", package = "MASS")
rf = randomForest(medv ~ ., data = Boston, ntree = 50)
# Use iml to generate predictions
mod = Predictor$new(rf, data = Boston)
# Compute the individual conditional expectations for the feature room
ice = FeatureEffect$new(mod, method = 'ice', feature = "rm")
現在我可以使用plot(ice)
plot 這將創建一個帶有灰線的冰 plot。 但是,我想在漸變上為這些線條着色。 我可以通過預測值對它們進行着色,如下所示:
df <- ice$results
ggplot(df, aes(x = rm, y = .value, color = .value)) + geom_line(aes(group = .id))
這就是我想要的(即,冰 plot 顏色漸變),但我無法找到手動設置 plot 的顏色的方法......例如,如果我希望低值是紅色和高值是藍色的。 我已經嘗試了一些ggplot2
選項..但我無法讓它們工作?
所以,我通過使用解決了這個問題:
ggplot(df, aes(x = rm, y = .value, color = .value )) +
geom_line(aes(group = .id)) +
scale_colour_gradient2(low = "red", mid = "yellow", high = "blue", midpoint = 25)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.