Бар с отрицательным стеком и положительными метками - PullRequest
2 голосов
/ 05 апреля 2019

Я пытаюсь сделать в R (Shiny) столбчатую шкалу с перевернутыми столбцами.Я уже нашел, как сделать график, но не могу узнать, как сделать метки на оси X положительными, как здесь: https://www.highcharts.com/demo/bar-negative-stack

Я пытался применить abs()функция, но это не сработало до сих пор.У кого-нибудь есть решение?

highchart() %>% 
  hc_chart(type = "bar") %>% 
  hc_title(text = "Example") %>% 
  hc_yAxis(title = list(text = ""), labels = list(format = "{value}"))  %>% 
  hc_plotOptions(series=list(stacking='normal'), 
                 column = list( dataLabels = list(enabled = FALSE), 
                 enableMouseTracking = TRUE)) %>% 
  hc_legend(enabled = FALSE) %>% 
  hc_xAxis(reversed=FALSE, opposite=TRUE, reversed=FALSE) %>% 
  hc_add_series(name="neutral", id='neutral', color=c("#766A62"), data=list(2, 8))  %>%      
  hc_add_series(name="Neutral",linkedTo='neutral',color=c("#ffeeff"),data=list(-5, -3))

Я хочу, чтобы значения столбцов и меток на оси х были положительными.Любые идеи приветствуются.

1 Ответ

1 голос
/ 05 апреля 2019

Используя ваш код:

highchart() %>% 
  hc_chart(type = "bar") %>% 
  hc_title(text = "Example") %>% 
  hc_yAxis(title = list(text = ""),labels = list(format = "{value}"))  %>% 
  hc_plotOptions(series=list(stacking='normal'),column = list( dataLabels = list(enabled = FALSE), 
                                                           enableMouseTracking = TRUE)) %>% 
  hc_legend(enabled = FALSE) %>% 
  hc_xAxis(list(categories = c("0-4", "5-9"),
                reversed=FALSE ), 
           list(reversed=FALSE,opposite=TRUE,
                reversed=FALSE,
                categories =c("0-4", "5-9"),
                linkedTo = 0)) %>% 
  hc_yAxis(
    labels = list(
      formatter = JS("function(){ return Math.abs(this.value) + '%'; }"))) %>%
  hc_add_series(name="neutral",id='neutral',color=c("#766A62"),data=list(2, 8))  %>%
  hc_add_series(name="Neutral",linkedTo='neutral',color=c("#ffeeff"),data=list(-5, -3))

Изменены следующие строки:

  hc_xAxis(list(categories = c("0-4", "5-9"),
                reversed=FALSE ), 
           list(reversed=FALSE,opposite=TRUE,
                reversed=FALSE,
                categories =c("0-4", "5-9"),
                linkedTo = 0)) %>% 
  hc_yAxis(
    labels = list(
      formatter = JS("function(){ return Math.abs(this.value) + '%'; }")))

Результат:

enter image description here

...