带有纬度和经度点的世界地图情节

World map plot with latitude and longitude points

我正在尝试绘制特定湖泊站点(纬度和经度)的世界地图,并根据两个变量(颜色模型和总大小模型)进一步区分点,最终目标是世界地图上的气泡图。

这就是我的数据 (WD) 的样子 (data.frame)

WD <- read.csv(file.choose(), header = TRUE)
head(WD)

    Country                Lake        Lat       Long Model Total
1       USA         Annie, lake  27.994549 -81.604644    PB     0
2       USA         Annie, lake  27.994549 -81.604644    DD     1
3 Australia   Baroon, reservoir -26.706919 152.870361    PB     0
4 Australia   Baroon, reservoir -26.706919 152.870361    DD     2
5   England Bassenthwaite, lake    54.6525  -3.225833    PB     3
6   England Bassenthwaite, lake    54.6525  -3.225833    DD     0

我使用

下载了世界地图
library("ggmap")
library(maptools)
library(maps)
mapWorld <- borders("world", colour="gray50", fill="white")

画地图没有点就可以了

mp <- ggplot() + mapWorld

然后我尝试通过

加分
mp <- mp+ geom_point(data=WD, aes(x=Long, y=Lat) ,color=WD$Model,alpha=0.5, size=WD$Total)

但是当我尝试绘制 mp 时出现以下错误,我不知道如何解决这个问题

Error: Discrete value supplied to continuous scale

在没有您的数据的情况下,有几件事让我印象深刻。在你的 geom_point 图层中,我认为你的大小和颜色应该在 aes() 内,如下所示:

mp + geom_point(data = WD, aes(x = Long, y = Lat, color = Model, size = Total), alpha = 0.5)

这些可能不是唯一的问题,从 ggplot 图层的基础知识开始通常是个好主意,看看它是否可行,然后再考虑颜色和大小。这可以帮助确定问题所在。因此,在您的情况下,只需尝试查看它是否会先使用纬度和经度绘制。

我还建议检查您的数据中没有任何 NA,并且数据帧向量是否适合 class 您尝试插入的每个点(因子,字符,数字等...)。这些问题中的每一个都曾一度浪费了我很多时间...

祝你好运!

感谢您的提示。我发现其中一个变量是一个因素,但即使在纠正这个问题之后问题仍然存在。所以我重新启动了 R 几次,它神奇地起作用了