[英]how to display hctreemap2 unique levels?
我正在嘗試使用 highchart 創建樹形圖 plot,我想創建級別,我的意思是,在第一個視圖中用戶應該只看到“大陸”,在第二級“國家”,但現在 output 給了我這么多同一個大陸,我如何修改代碼以僅顯示一次大陸,當用戶單擊任何大陸時,顯示國家/地區? 這是我現在的代碼。
hctreemap2(data = GNI2014,
group_vars = c("continent", "iso3"),
size_var = "population",
color_var = "GNI",
layoutAlgorithm = "squarified",
levelIsConstant = FALSE,
levels = list(
list(level = 1, dataLabels = list(enabled = TRUE)),
list(level = 2, dataLabels = list(enabled = TRUE)),
list(level = 3, dataLabels = list(enabled = TRUE))
)) %>%
hc_colorAxis(minColor = brewer.pal(7, "Greens")[1],
maxColor = brewer.pal(7, "Greens")[7]) %>%
hc_tooltip(pointFormat = "<b>{point.name}</b>:<br>
Pop: {point.value:,.0f}<br>
GNI: {point.colorValue:,.0f}")
坦克斯
這很可能是在第一級解釋此數據時出現的問題 - name 屬性應該是國家的名稱,而不是大陸的名稱。 在這里,您可以看到帶有示例數據(大陸和國家/地區)的簡化演示 - 它可以向您展示如何做到這一點:
highchart() %>%
hc_add_series(
type = "treemap",
layoutAlgorithm = "squarified",
allowDrillToNode = TRUE,
levels = list(
list(
level = 1,
dataLabels = list(
enabled = TRUE
),
borderWidth = 3
),
list(
level = 2,
dataLabels = list(
enabled = TRUE
),
borderWidth = 2
)
),
data = list(
# LEVEL I
list(
id = "Asia",
name = "Asia",
color = "#EC2500"
),
list(
id = "Europe",
name = "Europe",
color = "#ECE100"
),
# LEVEL II
list(
name = "Russia",
parent = "Asia",
value = 4
),
list(
name = "China",
parent = "Asia",
value = 2
),
list(
id = "Poland",
name = "Poland",
parent = "Europe"
),
list(
id = "UK",
name = "UK",
parent = "Europe"
),
# LEVEL 3
list(
name = "Warsaw",
parent = "Poland",
value = 3
),
list(
name = "Krakow",
parent = "Poland",
value = 3
),
list(
id = "SP",
name = "London",
value = 5,
parent = "UK"
)
)
)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.