我下面的代碼:
sa_map3_plt <- OpenStreetMap::autoplot.OpenStreetMap(sa_map2)
geom_point( data = XY_ClassHF15_df, aes(x = x, y = y,colour= HF), size = 2.5 )
#scale_colour_gradientn(colours = terrain.colors(18))
scale_colour_gradient(low = "blue", high = "red", na.value = NA)
xlab("Longitude (°E)") ylab("Latitude (°S)" )
sa_map3_plt
生成下圖:

不過,我想做的是更改調色板,使其如下圖所示:

基本上,低值和高值將保持(幾乎)相同,但中間顏色應該不同。我想有一種手動方法可以做到這一點,但我還沒有設法做到這一點
uj5u.com熱心網友回復:
顯然我們沒有您的資料,但使用一個簡單的隨機示例應該會在此處顯示選項。
df <- data.frame(x = rnorm(10000), y = rnorm(10000), z = runif(10000))
scale_color_distiller首先,你可以嘗試palette = "Spectral"
ggplot(df, aes(x, y, color = z))
geom_point()
scale_color_distiller(palette = 'Spectral')

另一種選擇是自己指定一個完整的調色板scale_color_gradientn,它允許任意漸變。這與您的示例影像中的比例合理匹配。
ggplot(df, aes(x, y, color = z))
geom_point()
scale_color_gradientn(colours = c('#5749a0', '#0f7ab0', '#00bbb1',
'#bef0b0', '#fdf4af', '#f9b64b',
'#ec840e', '#ca443d', '#a51a49'))

轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/454415.html
上一篇:按特定順序查找具有關閉元素的索引
