我需要在地圖上繪製地震強度。我可以做到這一點:我可以在scale_fill_distiller中導入調色板嗎?
data = as.data.frame(cbind('MMI'= c(5.705595,7.161231, 5.187135, 6.454477, 6.027840, 4.217181, 4.704672, 5.146932, 5.327897, 7.113057), 'LON'= c(-116.4, -116.5, -116.6, -116.7, -116.8, -116.9, -117.0,-117.1, -117.2, -117.3), 'LAT'= c(34.5, 34.5, 34.5, 34.5, 34.5, 34.5, 34.6, 34.6, 34.6, 34.6)))
my_map = get_map(location = c(lon = mean(data$LON), lat = mean(data$LAT)), zoom = 9, maptype = "satellite", source = "google")
ggmap(my_map) + geom_tile(data = data, aes(x=LON, y=LAT, fill = MMI), alpha = 0.5,color = NA) + scale_fill_distiller(palette = "Spectral", limits = c(0, 10), direction =-1)
我的問題是強度有一個定義的顏色調色板從0到10(我列出它的「顏色」矢量),但我不管理使用這個調色板中scale_fill_distiller 。 我也嘗試使用scale_fill_manual,但它返回一個錯誤。
colours = c("#FFFFFF", "#9999FF", "#66FFFF", "#66FFCC", "#99FF33", "#FFFF33", "#FFCC33", "#FF9900", "#FF6600", "#FF0000", "#CC0000")
ggmap(my_map) + geom_tile(data = data, aes(x=LON, y=LAT, fill = MMI), alpha = 0.5, color = NA) + scale_fill_manual(values = colours)
> Error: Continuous value supplied to discrete scale
什麼建議嗎?
改變使用as.factor您的數據,以避免供應連續值離散規模 – timat
你用你的'scale_fill_distriller'的'limits'說法有什麼特別的原因嗎? –
顏色比例從0到10,但我的數據沒有,所以我需要將值與正確的顏色相關聯 –