【问题标题】:R - adding dots to a UK Local Authority choropleth map ggplotR - 向英国地方当局 choropleth 地图 ggplot 添加点
【发布时间】:2021-12-24 19:34:02
【问题描述】:

我在 R 中制作了一个 Choropleth 地图,根据燃料贫困家庭的百分比对地方当局进行着色。

#converts file into a readable format
options(scipen = 999)

#create a data frame from imported CSV file
mydata <- readr::read_csv("/Users/Desktop/R/Map/Fuel_Poverty.csv")

#import shape file
mymap <-st_read("Local_Authority_Districts__December_2019__Boundaries_UK_BUC.shp", stringsAsFactors = FALSE)

#joins map shape file to local authority data csv
map_and_data <- inner_join(mymap,mydata)

#displays structure of object
str(map_and_data)

#creates a plot
ggplot(map_and_data) +
  geom_sf(aes(fill = Fuel_Poverty_Percentage),lwd = 0.1) +
  theme_void() + 
  scale_fill_gradient2(low = "#a50026", high = "#005abb", midpoint = 170, na.value = "#808080")

我现在想在一些点上分层,这些点将对应于特定位置,可能以邮政成本或纬度和经度值的形式出现。我已经尝试了几个教程,但无论我设置的经度和纬度值如何,似乎都只是让点出现在左下角?

(sites <- data.frame(lat = c(54.7), long = c(-1.27)))

#creates a plot
ggplot(map_and_data) +
  geom_sf(aes(fill = Fuel_Poverty),lwd = 0.1) +  # lwd = 0.1 is line thickness, 1.5 @5000 pixels to save well
  geom_point(data = sites, aes(x = long, y = lat), size = 3, shape = 21, fill = "red") +
  theme_void() +     #this takes out the background
  scale_fill_gradient2(low = "#005abb", high = "#a50026", midpoint = 12, na.value = "#808080")

Map with point in the wrong location

【问题讨论】:

    标签: r ggplot2 choropleth geom-point


    【解决方案1】:

    由于您的地图数据 mymap 采用 crs(坐标参考系统)OSGB 1936 / British National Grid 格式,因此必须转换 GPS(纬度、经度)格式的任何点。 p>

    一个点,例如伦敦 51.52756, -0.257844(GPS WGS84 坐标)转换为 520948.75443717, 182398.33790064(使用 OSTN15 转换的 OSGB36 网格参考)。

    • 使用绘图中的数据:
    mypoint <- data.frame(lat=520948.75443717,long=182398.33790064)
    
    ggplot() +
     geom_sf( data=mymap ) +
     geom_point( data=mypoint, aes(lat, long, size=200) )
    

    【讨论】:

    • 谢谢,效果很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-27
    • 2022-01-12
    • 2013-06-13
    • 2020-01-04
    • 1970-01-01
    相关资源
    最近更新 更多