У меня есть dataframe с именем myKrige_new
содержит несколько интерполяционных значений по широте-longutude. Вы можете скачать с HERE. Я изобразил эти значения на определенный участке карты страны с помощью ggplot2
пакета в R, и я получил этот участок Как создать легенду (непрерывную цветовую панель) на основе определенного диапазона значений в R/ggplot2?
Но я хочу легенду (colourbar) мой участок будет как следующая легенда.
В моем наборе данных здесь, диапазон данных (пред) составляет от 72 до 257. Но я хочу, чтобы моя легенда будет показывать значение от 0 до 200 из-за сравнения с другими причинами сюжетом, хотя там нет значения под 72 здесь.
Итак, я хочу использовать 20 разных цветов, как указано выше, что означает, что последний поле легенды будет содержать цвет, имеющий значение больше 200. Я использовал функцию scale_fill_gradientn
, но это не сработало. Я провел несколько дней, чтобы найти какой-то вариант сделать это в R, не получил успеха. Любая помощь будет очень заметной.
R Код:
library(scales)
library(ggplot2)
myKrige_new <- read.csv ("myKrige_new.csv")
range(myKrige_new$LON)
range(myKrige_new$LAT)
#Original skorea data transformed the same was as myKrige_new
skorea1 <- getData("GADM", country= "KOR", level=1)
skorea1 <- fortify(skorea1)
myKorea1 <- data.frame(skorea1)
###############
ggplot()+
theme_minimal() +
#SOLUTION 1:
#geom_tile(data = myKrige_new, aes(x= LON, y= LAT, fill = pred)) +
#SOLUTION 2: Uncomment the line(s) below:
#geom_point(data = myKrige_new, aes(x= LON, y= LAT, fill = pred),
#shape=22, size=8, colour=NA)+
#Solution 3
stat_summary_2d(data=myKrige_new, aes(x = LON, y = LAT, z = pred),bins = 30,
binwidth = c(0.05,0.05)) +
scale_fill_gradientn(colours=c("white","blue","green","yellow","red"),
values=rescale(c(0,50,100,150,200)),
guide="colorbar", name = "PM10 Conc")+
geom_map(data= myKorea1, map= myKorea1, aes(x=long,y=lat,map_id=id,group=group),
fill=NA, colour="black") +
coord_cartesian(xlim= c(126.6, 127.2), ylim= c(37.2 ,37.7)) +
labs(title= "PM10 Concentration in Seoul Area at South Korea",
x="", y= "")+
theme(legend.position = "bottom")+
guides(fill = guide_colourbar(barwidth = 27, barheight = NULL,
title.position = "bottom", title.hjust = 0.5))
Набор 'scale_fill_gradientn (..., руководство легенда =» ', ...) 'вместо' colorbar', хотя результат немного отличается от geom. – alistaire
Извините, я не могу понять! На самом деле я хочу показать разный цвет для разных диапазонов значений, а легенда будет показывать диапазон цветов от 0 до 200. – Orpheus