与这个可重现的示例一样,我try 通过根据另一列value
中的值为df
列colors
中的预定义 colored颜色 赋值来获得ggplot
.我成功地使用了这个代码,但不幸的是,图例中没有显示 colored颜色 .
# create reproducible dataframe
df <- data.frame(runif(500, min=-6, max=3))
names(df)[1] <- "value"
lat <- data.frame(runif(500, min=-5, max=30))
names(lat)[1] <- "lat"
df <- cbind(df, lat)
lon <- data.frame(runif(500, min=40, max=50))
names(lon)[1] <- "lon"
df <- cbind(df, lon)
rm(lat, lon)
df <- df %>%
mutate(colors =
ifelse(value > 2 , "#78d058",
ifelse(value >= 1 & value <= 2 , "#a8dc94",
ifelse(value >= 0 & value <= 1 , "#efefef",
ifelse(value < 0 & value >= -1, "#f5a2a2",
ifelse(value < -2 & value >= -3, "#f97c7c",
ifelse(value < -3 & value >= -4, "#fc5555",
ifelse(value < -4 & value >= -5, "#ff2f2f",
"#af2020"))))))))
# ggplot
ggplot(data = df) +
aes(x = lat, y = lon, fill = value) +
geom_point(colour = df$colors)
对于如何以连续的方式创建既有值又有 colored颜色 的图例,有什么建议吗?
感谢您的帮助或建议.