Подсказка HighcharteR

Я хочу отобразить различия двух гистограмм во всплывающей подсказке. Я предполагаю, что могу получить доступ к этим значениям через функцию форматирования. Однако все, что я пробовал, не работает. Это мой код:

highchart() %>%
    hc_add_series(Marktvolumen$`2017`, type = "column", name = "2017") %>%
    hc_add_series(Marktvolumen$`2018`, type = "column", name = "2018") %>%
    hc_add_series(Marktvolumen$Aenderung, type = "column", name = "change", visible=FALSE, showInLegend=FALSE) %>%
    hc_xAxis(categories = Marktvolumen$Familie) %>%
    hc_plotOptions(series = list(showInLegend = TRUE, dataLabels = list(enabled = TRUE, color = "#FFFFFF"))) %>%
    hc_tooltip(formatter = JS(paste0('function () {
                       return this.y[1] - this.y[0];
    }')))

Отличия уже есть объект диаграммы, но невидимы (Marktvolumen$Aenderung). Для меня не имеет значения, показываю ли я разницу через объект серии или вычисляю ее через javascript :-)

Вот гистограмма:

введите здесь описание изображения

Спасибо!


person Community    schedule 07.06.2018    source источник
comment
В javascript highcharts это можно сделать так: jsfiddle.net/f3o6nqd2/1. Я не знаю, как перевести это на работу в R.   -  person ewolden    schedule 07.06.2018
comment
к сожалению, когда я использую этот форматировщик, он не отображает диаграмму :(   -  person    schedule 07.06.2018
comment
Вы пробовали определить функцию обратного вызова средства форматирования, как здесь (без paste0) ?: stackoverflow.com/questions/42882018/   -  person Kamil Kulig    schedule 08.06.2018


Ответы (1)


Вы используете this.y, который используется, когда всплывающая подсказка закрыта (это означает, что каждый столбец будет иметь свою собственную всплывающую подсказку). В вашем случае всплывающей подсказкой нужно поделиться! Общий параметр должен иметь значение ИСТИНА в функции hc_tooltip, потому что оба столбца (в каждом «Семействе») должны иметь одну и ту же всплывающую подсказку.

Затем вы можете использовать переменную this.points [i] .y, как описано здесь: https://api.highcharts.com/highcharts/tooltip.formatter

Вот код (без Marktvolumen$Aenderung):

Marktvolumen <- data.frame(c(72.451, 56280.439, 9020.455),
                           c(21.978, 59044.848, 9752.833),
                           c("Kuchen", "Riegel", "Süßgebäck"))
names(Marktvolumen) <- c('2017', '2018', "Familie")

highchart() %>%
  hc_add_series(Marktvolumen$`2017`, type = "column", name = "2017") %>%
  hc_add_series(Marktvolumen$`2018`, type = "column", name = "2018") %>%
  hc_xAxis(categories = Marktvolumen$Familie) %>%
  hc_plotOptions(series = list(showInLegend = TRUE,
                               dataLabels = list(enabled = TRUE,
                                                 color = "#FFFFFF"))) %>%
  hc_tooltip(formatter = JS(paste0('function ()
                                   {return "Änderung: " +
                                   (this.points[1].y - this.points[0].y);}')
                            ), shared = TRUE)

введите здесь описание изображения

Надеюсь, это было полезно :)

person Ferand Dalatieh    schedule 02.07.2018