使用geom_point + aes函数时出现“二进制运算符的非数字参数”

时间:2019-03-27 22:46:27

标签: r ggplot2

我正在尝试在地图“ UKmap”上绘制英国每个管理港口“ AdminPort”中的船只“ n”的数量,在我的代码中,我将尺寸设置为等于n(船只的数量),因此绘制在地图上取决于船只的数量。即使n是一列数字,我仍然收到错误消息:

  

“ UKmap + geom_point(aes(x =经度,y =纬度),大小= 4,错误:     二进制运算符的非数字参数
  另外:警告消息:   “ +”“

的方法不兼容(“ Ops.raster”,“ +。gg”)

我在做什么错?我在下面添加了我的代码和30x4标题(AdminPortCLL)。

# A tibble: 30 x 4
       lon   lat AdminPort       n
     <dbl> <dbl> <chr>       <int>
 1 -2.10    57.1 ABERDEEN       70
 2 -4.63    55.5 AYR            77
 3 -5.93    54.6 BELFAST       187
 4 -3.52    50.4 BRIXHAM       184
 5 -2.96    57.7 BUCKIE         69
 6 -5.61    55.4 CAMPBELTOWN    97
 7 -2.09    55.9 EYEMOUTH       73
 8 -3.01    53.9 FLEETWOOD      92
 9 -2.02    57.7 FRASERBURGH   120
10 -0.0736  53.6 GRIMSBY        56
# ... with 20 more rows
UKmap +
  geom_point(aes(x = Longitude, y = Latitude), 
             size =  n, data = AdminPortCLL) + 
  theme(legend.position = "top")

1 个答案:

答案 0 :(得分:0)

假设您正在使用ggmap。...UKmap可能仍然只是一张图像。在添加点之前,请将其转换为ggmap对象:

UKmap <- ggmap(UKmap)

此外,您需要使用AdminPortCLL标题中的列名:

UKmap +
  geom_point(aes(x = lon, y = lat), 
             size =  n, data = AdminPortCLL) + 
  theme(legend.position = "top")