【问题标题】:highcharter - how can I display my data values in the countries on the map?highcharter - 如何在地图上的国家/地区显示我的数据值?
【发布时间】:2020-03-19 22:17:30
【问题描述】:

我的设置:我目前正在尝试使用交互式地图,通过世界地图显示不同国家/地区的 SARS 病例数。我没有尝试使用 Shiny,而是尝试在 R Markdown 的 flexdashboard 上进行。目前,我有一个包含两列的数据集:“国家”和“总计”。 Country 显示它是哪个国家,而“total”显示 SARS 病例数。 “Country”是一个因子对象,而“total”是数字对象。

现在我的问题是:我已经设置并使用了示例 geojson 世界地图,但是我的数据集的任何值都没有输入到我使用的世界地图中。我应该如何在地图上显示我的价值观?这是因为“worldgeojson”地图无法正确读取我数据集中的国家/地区吗?

我目前的代码是:

highchart() %>% 
  hc_title(text = "Number of Cases of SARS in the World") %>% 
  hc_subtitle(text = "Source: SARS.csv") %>% 
  hc_add_series_map(worldgeojson, countries,
                 name = "Country",
                 value = "total",
                 joinBy = c("woename", "Country")) %>% 
  hc_mapNavigation(enabled = T)

【问题讨论】:

  • 您好,欢迎您!你能分享你使用的包和数据吗?理想的解决方案是创建一个reprex。目前很难为您提供帮助。
  • 我使用的一些包包括: library(tidyverse) - 像 dplyr 来帮助清理我的数据, library(flexdashboard) - 为 rmd 创建一个 flex 仪表板,以及 library(highcharter) - 用于映射.我目前对 R 还比较陌生,因此我不熟悉创建代表。

标签: r


【解决方案1】:

没有您的数据,不清楚问题可能是什么。

但是,这是一个您可以使用的工作示例。

library(highcharter)

countries <- data.frame(
  Country = c("Canada", "China", "France"),
  Total = c(251, 5327, 7)
)

highchart() %>% 
  hc_title(text = "Number of Cases of SARS in the World") %>% 
  hc_subtitle(text = "Source: SARS.csv") %>% 
  hc_add_series_map(worldgeojson, countries,
                    name = "SARS Cases",
                    value = "Total",
                    joinBy = c("name", "Country")) %>% 
  hc_mapNavigation(enabled = T)

地图

【讨论】:

  • 非常感谢您的快速回复!我注意到我的代码与您的代码的区别仅在于 joinBy,第一个输入不是“woename”,而是“name”解决了问题。我认为使用“woename”(地球上的位置)是有意义的,但是仅使用“名称”就解决了这个问题。感谢帮助:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-07
  • 1970-01-01
相关资源
最近更新 更多