Sam*_*uel 5 treemap highcharts r-highcharter
我正在尝试使用 highcharter-package 在 R 中生成交互式树形图(顺便说一句,我喜欢这个包)。它应该看起来像这样(我什至不需要不同的级别)
示例代码:
df <- data.frame(name = c("john", "jane", "herbert", "peter"),
bananas = c(10, 14, 6, 3))
hctreemap2(df,
group_vars = "name",
size_var = "bananas")
Run Code Online (Sandbox Code Playgroud)
我不希望盒子有渐变颜色,而是不同的颜色,比如红色、黄色、绿色和蓝色。我对 highcharts-API 的理解越来越深入,并将其“翻译”为 R 代码,但这确实让我很困难。
我已经找到了解决方法,但我正在寻找更好的解决方案,因为 hc_add_series_treemap 已被弃用。
p <- treemap(df,
index="name",
vSize="bananas",
type="index")
highchart() %>%
hc_add_series_treemap(p,
layoutAlgorithm = "squarified")
Run Code Online (Sandbox Code Playgroud)
所以感谢您的帮助:)
在花了整个早上(我的工作需要这个)没有找到解决方案之后,终于在这里发布了这个问题,问完后仅 10 分钟,我自己找到了一个解决方案,尝试了刚刚在我的应用程序中弹出的东西头^^
所以事情是这样的:
hctreemap2(df,
group_vars = "name",
size_var = "bananas") %>%
hc_plotOptions(treemap = list(colorByPoint = TRUE)) %>% #allows points in the same serie to have different colors
hc_colors(c("#FFFF00", "#FF0000", "#0000FF", "#00AA00")) %>% #with this we can set the colors, note: 1st color is given to first row in the data frame (not necessarily the biggest box)
hc_colorAxis(dataClasses = color_classes(df$name)) %>% #defines acc. to which variable, a box gets a distinct color
hc_legend(enabled = FALSE) #suppresses legend
Run Code Online (Sandbox Code Playgroud)
它给出了这个:
我们需要 highcharter-package 的三个附加功能,但它工作得很好!