【发布时间】:2019-03-29 09:41:18
【问题描述】:
我正在尝试表示与城市相对应的点/气泡,这些城市的规模与人口成正比。
尽管多次尝试,我总是得到相同的错误(“离散值提供给连续刻度”),即使我的变量是数字。
使用的示例数据可以在这里找到
https://github.com/Lulliter/r-ggplot-points-question
- Brazil_bound_sf = 边界
- Brazil_cit_longlat = 几年内人口 # 的城市列表
情节不起作用
ggplot() +
geom_sf (data = Brazil_bound_sf,
aes(fill = NULL), alpha = .1,colour = "darkgrey",size = 0.3) +
geom_point(data = Brazil_cit_longlat, aes( x = lon, y = lat, size =
"2016"), fill = "red", color = "grey", alpha = .2) +
scale_size_continuous() +
coord_sf(crs = st_crs(Brazil_bound_sf), datum = NA) +
theme_void()
# Error: Discrete value supplied to continuous scale
谢谢!
【问题讨论】:
-
您提供了
size = "2016"。"2016"不是数值。您是在尝试将"2016"逐字映射到大小,还是2016是您的某一列的名称? -
顺便说一句,如果您希望大小与人口成正比,而不是半径,您可能更喜欢
scale_size_area。 -
欢迎来到 SO!请把recommended 到
dput()您的数据发送给您,然后发布结果编辑您的问题。如果它们太多,您可以dput(head(,20))您的数据(例如,dput(head(Brazil_bound_sf,20))和dput(head(Brazil_cit_longlat,20)))。