r - 带有纬度和经度点的世界地图图
问题描述
我正在尝试绘制特定湖泊地点(纬度和经度)的世界地图,并根据两个变量(颜色模型和总计大小)进一步区分这些点,目的是在最后有一种气泡图一张世界地图。
这就是我的数据(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,并且数据框向量是否适合您尝试将其插入的每个位置(因子、字符、数字等)。这些问题中的每一个都在某一时刻浪费了我大量的时间......
祝你好运!
推荐阅读
- java - 如何在火花聚合函数中实现scala类型安全
- c# - '/clr' 和 '/Za' 命令行选项不兼容
- python - Torch 在 VSCode 中成功运行,但在 Jupyter Notebook 中出现错误
- powershell - Powershell在不同的对象上拆分
- r - 识别哪个代码属于哪个组
- c# - 如何补偿更改的目录?
- java - 从api获取请求后更改片段时ArrayList不返回元素
- html - SCSS mix-blend-mode:区别;只对部分背景做出反应
- python - 大量小文件的加载不足
- powerbi - Power BI 按日期范围数据的多列值创建每日计数