Как инвертировать несколько осей Y в R Highcharter? - PullRequest
0 голосов
/ 23 февраля 2020

Я хочу инвертировать график с несколькими осями Y в R, используя библиотеку highchater. К сожалению, когда я указываю использование hc_chart(iverted=T), он перемещается на одну ось, остальные не перемещают свою позицию. Вот пример из jbkunst: https://rpubs.com/jbkunst/create_yaxis

library("highcharter");library(dplyr)

highchart() %>%
# probably I should specify "inverted=T" in "hc_yAxis_multiples"
  hc_yAxis_multiples(create_yaxis(naxis = 4, title = list(text = NULL))) %>%
  hc_add_series(data = c(1,3,2)) %>%
  hc_add_series(data = c(20, 40, 10), yAxis = 1) %>%
  hc_add_series(data = c(200, 400, 500), type = "column", yAxis = 2) %>%
  hc_add_series(data = c(500, 300, 400), type = "column", yAxis = 2) %>% 
  hc_add_series(data = c(5,4,7), type = "spline", yAxis = 3)

Вот пример, который я хотел бы принять. https://jsfiddle.net/BlackLabel/cdok7w0L/

1 Ответ

0 голосов
/ 24 февраля 2020

Если вы хотите объединить несколько осей Y с перевернутой диаграммой, я предлагаю определить их вручную (без create_yaxis метода), см .:

library("highcharter");

highchart() %>%
  hc_chart(inverted=T) %>%
  hc_yAxis_multiples(
    list(width = '30%'),
    list(width = '30%', left = '35%', offset = 0),
    list(width = '30%', left = '70%', offset = 0)
  ) %>%
  hc_add_series(data = c(1,3,2)) %>%
  hc_add_series(data = c(20, 40, 10), yAxis = 1) %>%
  hc_add_series(data = c(200, 400, 500), type = "column", yAxis = 2)

Также у вас есть опечатка в " hc_chart (инвертированный = T)%>% "

В примере, представленном вами в jsFiddle, для каждой диаграммы есть отдельные контейнеры. В вашем примере у вас есть один контейнер, но множество серий соединены с отдельной осью, поэтому вам нужно определить их ширину и левое смещение.

Справочник по API: https://api.highcharts.com/highcharts/yAxis.width https://api.highcharts.com/highcharts/yAxis.left
https://api.highcharts.com/highcharts/yAxis.offset

Дайте мне знать, если у вас есть дополнительные вопросы.

...