R ggmap - 在地图上显示集群

时间:2018-01-19 16:54:13

标签: r google-maps maps cluster-analysis ggmap

我进行了聚类分析,现在我想在地图上显示不同的组。

我做了一个我拥有的数据框的例子(最初的数据框太大了)。

..y

我想在地图上显示每个工作站,并为每个群集使用不同的颜色。

我正在使用此代码,但我总是收到2条不同的错误消息。

x1 <- c("Station1", "Station2", "Station3", "Station4", "Station5", "Station6", "Station7", "Station8")
x2 <- c(1, 2, 1, 3, 4, 1, 5, 3)
x3 <- seq(13.0, 15.3, length=8)
x4 <- seq(45.0, 48.0, length=8) 
x5 <- c("rural", "urban", "rural", "suburban", "urban", "suburban", "ubran", "rural")

TestCluster = data.frame(Station = x1, Cluster = x2, LON = x3, LAT = x4, Area = x5)

>TestCluster
  Station Cluster      LON      LAT     Area
1 Station1       1 13.00000 45.00000    rural
2 Station2       2 13.32857 45.42857    urban
3 Station3       1 13.65714 45.85714    rural
4 Station4       3 13.98571 46.28571 suburban
5 Station5       4 14.31429 46.71429    urban
6 Station6       1 14.64286 47.14286 suburban
7 Station7       5 14.97143 47.57143    ubran
8 Station8       3 15.30000 48.00000    rural

我收到以下错误消息:

library(ggmap)
library(ggplot2)

Europe <- get_map(location = "Europe", zoom = 4)
p = ggmap(Europe)

p = p + geom_point(data = TestCluster, aes(LON, LAT, color = Cluster), size = 1) + 
    scale_color_manual(name = "Cluster", values = c("1" = "yellow",
                                                    "2" = "orange",
                                                    "3" = "red",
                                                    "4" = "green",
                                                    "5" = "blue"))
p

我读到第二个错误应该用color = as.factor(Cluster)命令解决,但它对我不起作用。

知道为什么它不起作用?

1 个答案:

答案 0 :(得分:2)

I just saw this question now. As Jason said, you want to treat Cluster as factor. This solves the second issue. As for the first warning message, I could not replicate it. I successfully produced a map. I changed the location when I downloaded a map given where your data points are. You may want to check which version of ggplot2 and ggmap you are using. This may be one of the first things to check. In my case, I used ggmap_2.6.1 and ggplot2_2.2.1 with R version 3.4.3.

library(ggplot2)
library(ggmap)

Europe <- get_map(location = "Munich", zoom = 6)

ggmap(Europe) +
geom_point(data = TestCluster, aes(x = LON, y = LAT, color = factor(Cluster)), size = 3) +
scale_color_manual(name = "Cluster", 
                   values = c(`1` = "yellow",
                              `2` = "orange",
                              `3` = "red",
                              `4` = "green",
                              `5` = "blue"))

enter image description here