具有纬度和经度点的世界地图

问题描述 投票:0回答:2

我试图绘制一个特定湖泊地点(纬度和长度)的世界地图,并根据两个变量(颜色的模型和总的大小)进一步区分点,目的是最终得到一种泡沫图世界地图。

这就是我的数据(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

enter image description here

然后我尝试添加点数

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
r ggplot2 latitude-longitude ggmap
2个回答
1
投票

如果没有您的数据,我会发现一些事情。在你的geom_point图层中,我认为你的大小和颜色应该在aes()里面,如下所示:

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

那些可能不是唯一的问题,通常一个好主意从ggplot图层的基础知识开始,看看它是否有用,然后对颜色和大小有所了解。这有助于确定问题所在。所以在你的情况下,试试看它是否会先用Lat和Long绘图。

我还建议检查你的数据中没有任何NA,并且数据帧向量是你试图插入的每个点的适当类(因子,字符,数字等等)。这些问题中的每一个都在某种程度上浪费了我很多时间......

祝好运!


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.