我有一张类似这样的地图:
https://www.highcharts.com/demo/maps/us-counties
https://www.highcharts.com/demo/maps/data-class-two-ranges
我尝试复制数据类演示中的代码,对每一层使用 hc_add_series。但我如何保持等值线色标?
当您单击图例功能时,特朗普状态将被停用。我想做同样的事情,但在等值线图中有收入群体。
我也想将鼠标悬停在一个县上以显示其信息,无论哪个图层可用。现在,如果我激活了所有图层,我只能将鼠标悬停在最新图层上。
我编写此示例的方式(以及我的 3 层原始代码)非常缓慢且多余。我如何简化它并使运行时间更快?
下面是我的代码——由于某种原因,第 1 组和第 2 组层也没有正确显示。
library(highcharter)
library(dplyr)
library(tidyverse)
library(tidyr)
n <- nrow(unemployment)
unemployment <- unemployment %>%
mutate(group = rbinom(n,1,.5))
grp1 <- unemployment %>% filter(group == 1)
grp2 <- unemployment %>% filter(group == 0)
hcmap("countries/us/us-all-all"
, data = unemployment
, opacity = .4
, joinBy = c("hc-key", "code")
, name = "unemployment rate"
, borderColor = "#FAFAFA"
, nullColor = "#d3d3d3"
, borderWidth = 0.1
) %>%
hc_add_series_map(
name = "Group 1",
showInLegend = TRUE,
map = uscountygeojson,
df = grp1,
borderWidth = 0.1,
value = "value",
joinBy = c("hc-key", "code"),
nullColor = "transparent",
color = "#F28E2B",
states = list(
hover = list(
color = "#A4EDBA"
)),
tooltip = list(valueDecimals = 1,
valueSuffix = "%",
pointFormat = "{point.name}: {point.value}")
) %>%
hc_add_series_map(
name = "Group 2",
showInLegend = TRUE,
map = uscountygeojson,
df = grp1,
borderWidth = 0.1,
value = "value",
joinBy = c("hc-key", "code"),
nullColor = "transparent",
color = "#F28E2B",
states = list(
hover = list(
color = "#A4EDBA"
)),
tooltip = list(valueDecimals = 1,
valueSuffix = "%",
pointFormat = "{point.name}: {point.value}")
) %>%
hc_title(
text = "US Counties Unemployment Rate"
) %>%
hc_legend(
layout = "vertical",
align = "right",
floating = TRUE,
backgroundColor = "rgba(255, 255, 255, 0.85"
) %>%
hc_mapNavigation(
enabled = TRUE
) %>%
hc_colorAxis(
min = 0,
max = 25,
tickInterval = 5,
stops = list_parse2(
tibble(
q = c(0, .65, 1),
c = c("#500007", "#900037", "#F1EEF6")
)
),
labels = list(
format = "{value}%"
)
) %>%
hc_plotOptions(
mapline = list(
showInLegend = FALSE,
enableMouseTracking = FALSE
)
) %>%
hc_tooltip(
valueDecimals = 1,
valueSuffix = "%"
) %>%
hc_credits(
enabled = TRUE
) %>%
hc_exporting(
enabled = TRUE
)
我刚开始使用highcharter,对javascript了解不多。我不知道如何将 javascript 文档翻译成 R。非常感谢您的帮助!