使用传单包在R中的等值线图

时间:2017-04-16 07:36:51

标签: r leaflet

我正在尝试使用传单包在R中创建交互式Choropleth地图。 我的最终输出应该是,当用户点击任何美国状态时,应该显示一个弹出窗口,其中显示状态名称和相应状态的幅度值。
以下是我正在使用的代码。我面临的问题是,每当我点击任何一个庄园(阿拉斯加州除外)时,弹出窗口都显示错误的州名。例如,如果我点击佛罗里达州,弹出窗口显示为爱达荷州。
有人请解释可能导致此类行为的潜在问题。

library(rgdal)
library(leaflet)
us_states <- readOGR(dsn="cb_2016_us_state_500k.kml")           
plot(us_states)
s <- read.csv("us_state_mag_values.csv")

popup1 <- paste0("<span style='color: #7f0000'><strong>us state values</strong></span>",
                 "<br><span style='color: salmon;'><strong>Stae: </strong></span>", 
                 s$state, 
                 "<br><span style='color: salmon;'><strong>relative amount: </strong></span>", 
                 s$mag
)

palette <- colorBin(c('#fee0d2',  
                      '#fcbba1',
                      '#fc9272',
                      '#fb6a4a',
                      '#ef3b2c',
                      '#cb181d',
                      '#a50f15',
                      '#67000d'), 
                    bins = c(1,10,20,25,30,35,40,47))


mymap <- leaflet() %>% 
  addProviderTiles("OpenStreetMap.Mapnik") %>%
  addPolygons(data = us_states, 
              fillColor = ~palette(s$mag),
              fillOpacity = 0.6,       
              color = "darkgrey",      
              weight = 1.5,            
              popup = popup1)%>%
  addLegend(position = 'topleft', 
            colors = c('#fee0d2',
                       '#fcbba1',
                       '#fc9272',
                       '#fb6a4a',
                       '#ef3b2c',
                       '#cb181d',
                       '#a50f15',
                       '#67000d'), 
            labels = c('0%',"","","","","","",'100%'), 
            opacity = 0.6,      
            title = "relative<br>magnitude") 
print(mymap)

the KML file can be found here

我的美国国家数据集和相应的幅度值如下所示 My dataset of US states and corresponding magnitude values look like this

修改
我的输出可视化粘贴在下面。请注意弹出窗口的状态名称不正确 Output visualization

0 个答案:

没有答案