使用ggplot2中的间隔值为图例指定颜色

时间:2016-10-18 23:05:49

标签: r plot ggplot2 legend

我有三列数据

HashMap

我希望在地图上绘制这些图,其中每个点用圆圈表示,每个圆圈使用一系列值着色,这个值和颜色范围如下:

黄色0.004:0.277 绿色0.277:0.549 粉红色0.549:0.822 红色0.822:1.094

我可以绘制地图和点数,但我无法得到传说,到目前为止我已经管理了以下内容

    A       Latitude  Longitude
0.03336078  54.7000  -8.783333
0.12310763  54.21667 -10.033333
0.02180472  54.5000  -8.266667
0.74797928  52.63333 -9.483333
0.89240053  53.0833  -6.533333
0.35005815  52.1500  -7.166667

我猜我需要按照上面的方法创建一系列值,并将它们与颜色匹配,但我正在努力弄清楚如何做到这一点。谁能给我一个转向?

1 个答案:

答案 0 :(得分:1)

通过上面的@aosmith指针,我能够将以下代码组合在一起,这些代码已回答了我原来的问题并帮助我进入项目的下一个方面。

library(ggplot2)
library(ggmap)

setwd("C:/Users/Bo Bo/Documents")

csv <- read.csv("Data Sampler.csv", sep = ",", colClasses = c("character","numeric","integer","character","character","character","numeric","numeric"))

csv$A1 <- cut(csv$A,breaks = c(0.004,0.277,0.549,0.822,1.094),right = FALSE)

mapIreland <- get_map(location = c(lon = mean(csv$Longitude),lat = mean(csv$Latitude)), zoom = 7, maptype = "roadmap", scale = 2)

ggmap(mapIreland) + geom_point(data = csv, aes(x = csv$Longitude, y = csv$Latitude, fill = csv$A1), size = 5, shape = 21) + labs(x = "",y = "") + scale_fill_manual(values = c("yellow","green","pink","red"),breaks = c(0.004,0.277,0.549,0.822,1.094))

我的下一个问题涉及向地图添加相应的图例,以便切割变量显示在地图的右上角。我相信这个论点&#34; name&#34;可以在scale_fill_manual函数中指定但由于某种原因它不显示。我可能与地图的缩放有关,我现在正在研究这个问题。