我试图绘制一个特定湖泊地点(纬度和长度)的世界地图,并根据两个变量(颜色的模型和总的大小)进一步区分点,目的是最终得到一种泡沫图世界地图。
这就是我的数据(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图层的基础知识开始,看看它是否有用,然后对颜色和大小有所了解。这有助于确定问题所在。所以在你的情况下,试试看它是否会先用Lat和Long绘图。
我还建议检查你的数据中没有任何NA,并且数据帧向量是你试图插入的每个点的适当类(因子,字符,数字等等)。这些问题中的每一个都在某种程度上浪费了我很多时间......
祝好运!
谢谢你的提示。我发现其中一个变量是一个因素,但即使纠正了这个问题,问题仍然存在。所以我重新启动了R几次,它神奇地工作了