【问题标题】:R Highcharter - Countries displayed incorrectly on hcmapR Highcharter - 国家/地区在 hcmap 上显示不正确
【发布时间】:2019-10-29 17:39:35
【问题描述】:

我正在尝试使用 highcharter 中的 hcmap 创建世界地图以显示来自某些国家/地区的不同价值观。下面是一个例子:

library(highcharter)

df = read.table(text="
country, value
au, 0.125
cn, 0.263
in, 0.223
jp, 0.191
kr, 0.215
my, 0.088
ph, 0.197
id, 0.210
th, 0.217,
nz, 0.115", header=T)

hcmap(map ="custom/world-highres2.js", data = df, value = "value")

地图有几个问题:

  1. 大多数国家/地区未正确显示。例如,澳大利亚au 没有出现。此外,一些国家搞砸了。例如,美国不在数据集中。地图上的美国值实际上是属于印度的,而印度的值是来自马来西亚的。我从here 获得了国家代码(aucnin 等)。

  2. 国家/地区显示为黑色,底部的蓝色比例尺不显示任何值。它的左边应该有最小值,右边应该有最大值。我想将国家和栏的颜色都更改为红色。

任何帮助表示赞赏!

【问题讨论】:

    标签: r highcharts r-highcharter


    【解决方案1】:

    在你提到的jsfiddle example的开头有一条评论

    默认情况下,使用 'hc-key' 属性的值将数据连接到地图。

    所以我将国家/地区列名称更改为hc-key,它神奇地起作用了。奇怪的是,将 joinBy 参数设置为 "country" 并没有帮助。

    library(dplyr)
    df <- tribble(
      ~`hc-key`, ~value,
      "au", 0.125,
      "cn", 0.263,
      "in", 0.223,
      "jp", 0.191,
      "kr", 0.215,
      "my", 0.088,
      "ph", 0.197,
      "id", 0.210,
      "th", 0.217,
      "nz", 0.115
    )
    
    library(highcharter)
    hcmap(map ="custom/world-highres2.js", data = df, joinBy = "hc-key", value = "value")
    

    【讨论】:

    • 谢谢@laroslav!!事实上,我也尝试将joinBy 设置为不同的属性,但没有运气。有没有办法将颜色从蓝色变为红色?
    • @T-T 我没有一个快速的答案。在hcmap 中设置color = "red" 显然不起作用。将其作为一个单独的问题发布是有意义的。
    • 我明白了!使用 hc_colorAxisRColorBrewer 包就可以了! hcmap(map ="custom/world-highres2.js", data = df, joinBy = "hc-key", value = "value") %&gt;%hc_colorAxis(minColor = brewer.pal(11, "RdBu")[9],maxColor = brewer.pal(11, "RdBu")[3])。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 1970-01-01
    • 2015-11-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多