我正在尝试绘制特定湖区(纬度和经度)的世界地图,并根据两个变量(颜色的模型和总计的大小)进一步区分这些点,目的是最终获得一种世界地图上的气泡图。
这就是我的数据(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
答案 0 :(得分:1)
在没有您的数据的情况下,有些事情仍然困扰着我。在您的geom_point图层中,我认为您的尺寸和颜色应在aes()内,如下所示:
mp + geom_point(data = WD, aes(x = Long, y = Lat, color = Model, size = Total), alpha = 0.5)
这些可能不是唯一的问题,通常从ggplot层的基础知识开始,看看是否可行,然后看一下颜色和大小通常是个好主意。这可以帮助确定问题所在。因此,在您的情况下,请尝试先将其与纬度和经度一起绘制。
我还建议您检查数据中是否没有NA,并且数据帧向量是否适合要插入的每个位置(因子,字符,数字等)。 )。这些问题中的每一个都浪费了我大量的时间……
祝你好运!
答案 1 :(得分:0)
感谢您的提示。我发现其中一个变量是一个因素,但是即使更正了该问题,问题仍然存在。所以我重新启动了R几次,它神奇地起作用了