【问题标题】:Plotting a chloropleth map of Australian states绘制澳大利亚各州的等值线图
【发布时间】:2020-09-27 10:26:26
【问题描述】:

我绘制了澳大利亚各州的点密度图,现在尝试使用传单包绘制澳大利亚各州的叶绿素图,并按计数值对每个州进行着色。我有以下数据框

state                           count  latitude longitude
Australian Capital Territory      125     ...      ...
New South Wales                    45
Northern Territory                 75
Queensland                         12
South Australia                   245
Tasmania                         4895
Victoria                          279

以下是我用来绘制点密度图的代码

leaflet(aus_state_counts) %>%
      addTiles() %>%
      addCircleMarkers(
        layerId = ~state,
        label = ~state,
        radius = ~count
      ) %>%
      fitBounds(lng1 = max(aus_state_counts$longitude) ,lat1 = max(aus_state_counts$latitude),
                lng2 = min(aus_state_counts$longitude) ,lat2 = min(aus_state_counts$latitude)
)

我不确定如何在地图上绘制各州?我需要为此提供更多信息吗?

【问题讨论】:

    标签: r leaflet


    【解决方案1】:

    对于等值线地图,您需要一些空间多边形数据,这些数据采用形状文件 (.shp) 或 GeoJSON (.geojson) 的形式。下面应该可以工作。

    library(sf)
    library(leaflet)
    library(dplyr)
    
    # GeoJSON Data
    states <-  read_sf("https://raw.githubusercontent.com/rowanhogan/australian-states/master/states.geojson")
    
    
    counts <- data.frame(state=c("Australian Capital Territory", "New South Wales", "Northern Territory", "Queensland",
                                 "South Australia", "Tasmania", "Victoria"), count=c(125,45,75,12,245,4895,279))
    
    # Join to count data
    data <- states %>%
      dplyr::left_join(counts, by=c("STATE_NAME" = "state"))
    
    # Specify choropleth colors
    pal <- colorQuantile("Blues", domain = data$count)
    
    # Plot Map
    leaflet(data) %>%
      addTiles() %>%
      addPolygons(fillColor=~pal(count), fillOpacity=0.8, color="white", weight=1)
    
    

    【讨论】:

      猜你喜欢
      • 2020-07-28
      • 2013-10-23
      • 1970-01-01
      • 2020-12-05
      • 2015-05-03
      • 1970-01-01
      • 1970-01-01
      • 2016-10-25
      • 2021-06-10
      相关资源
      最近更新 更多