【问题标题】:R highcharter bar color based on value基于值的R highcharter条颜色
【发布时间】:2018-12-19 16:30:48
【问题描述】:

我有以下 R 代码:

library(highcharter)
library(magrittr)
r1 <- c('John Doe','Peter Gynn','Jolie Hope')
r2 <- c(21000, 23400, 26800)
color <- c('#f0f0f5','#00a1cd','#0058b8')

df <- data.frame(r1, r2, color)

hc <- highchart() %>%
  hc_xAxis(categories = df$r1) %>% 
  hc_add_series(data = df$r2, type = "bar")
hc

我希望条形图具有df$color 中指定的颜色。但是使用我当前的代码,所有条都具有相同的颜色。我做错了什么?

【问题讨论】:

    标签: r highcharts colors


    【解决方案1】:

    不知道highcharter,但似乎是一个不错的包。它似乎依赖于正确的列名。在您的示例中,您显然使用了错误的名称。类别显然需要一个名为“name”的列,而您的颜色需要一个名为“color”的列(您已经有了)。

    df <- data.frame(name = c('John Doe','Peter Gynn','Jolie Hope'), y = c(21000, 23400, 26800), color = c('#f0f0f5','#00a1cd','#0058b8'))
    
    highchart() %>%
      hc_chart(type = 'bar', polar = FALSE) %>%
      hc_xAxis(categories = df$name) %>% 
      hc_add_series(df)
    

    我还使用了hc_chart,而不是将类型放入hc_add_series,遵循http://jkunst.com/highcharter/highcharts.html 中的一些示例。这可能有所帮助。

    【讨论】:

    • 感谢您的帮助!!我想如果我用正确的颜色命名列,它应该可以工作。但你是对的,所有列都需要正确命名才能正常工作。你的解决方案解决了问题。 :)
    • 这个可以和stacking一起使用吗?
    • @Laurence_jj 可能值得一个后续问题。请不要忘记包含一个可重复的示例,例如,在我的回答中
    猜你喜欢
    • 2018-04-08
    • 2018-06-04
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 2022-01-06
    • 1970-01-01
    • 2020-02-26
    • 2016-10-17
    相关资源
    最近更新 更多