Как установить глобальные параметры highchart в R

Я вижу много примеров в javascript, но не могу найти пример, чтобы сделать это в R

Вот ссылка на API: http://api.highcharts.com/highcharts#global

Я пытаюсь установить «timezoneOffset», и я пробовал много разных способов. Когда я делаю это в R: highChart$global(timezoneOffset=-300), я не получаю никаких предупреждений или ошибок, но это не работает.

Большое спасибо за помощь!

Вот фрагмент кода:

library(rCharts)


highChart <- Highcharts$new()
highChart$global(timezoneOffset=-300)
highChart$chart(zoomType = "xy")
highChart$exporting(enabled = T)
highChart$xAxis(type="datetime",list( title = list(text = "Time")))
highChart$yAxis(list
                (
                  list(title = list(text = "Variance"))
                ))


highChart$series(data=list(c(x=1407795845000,y=1),c(x=1407795846000,y=2),c(x=1407795847000,y=3)))

highChart

Как видите, timezoneOffset не работает, когда я запускаю этот фрагмент кода, и время по-прежнему отображается по Гринвичу.


person user3772230    schedule 12.08.2014    source источник
comment
Вы используете пакет R, который не называете?   -  person IRTFM    schedule 12.08.2014
comment
@SebastianBochan Я обновил код. Спасибо за ваше время.   -  person user3772230    schedule 12.08.2014
comment
@BondedDust Я использую пакет rCharts   -  person user3772230    schedule 12.08.2014


Ответы (3)


Начиная с версии 0.5.0 highcharter кажется, что опции highcharter.options больше нет, но есть несколько отдельных опций, например. highcharter.lang, highcharter.global и т. д. Таким образом, работает следующий подход:

lang <- getOption("highcharter.lang")
lang$decimalPoint <- ","
lang$numericSymbols <- highcharter::JS("null") # optional: remove the SI prefixes
options(highcharter.lang = lang)

В дополнение к изменению десятичной точки префиксы SI ("k", "M", "G" и т. д.) отключаются путем установки для numericSymbols значения null, см. Замена/удаление метрических обозначений, таких как аббревиатура тысяч k.

person sgrubsmyon    schedule 07.11.2017

Доступ к параметрам highcharter можно получить, но они устанавливаются внутри стандартных параметров R в элементе списка highcharter.options. Они не отдаются напрямую в хайчарт, а внутри highchart() есть строка кода opts <- getOption("highcharter.options", list()).

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

Ниже приведена простая иллюстрация:

library(highcharter)

# normal highchart
highchart() %>%
  hc_add_serie_labels_values(1:901, seq(1, 10, 0.01))

opts <- getOption("highcharter.options")
opts$lang$decimalPoint <- "."
options(highcharter.options = opts)

# now with "," instead of "." (confirm in tooltip)
highchart() %>%
  hc_add_serie_labels_values(1:901, seq(1, 10, 0.01))

Конечно, в вашем случае вам нужно установить часть $global$timezoneOffset.

person K. Rohde    schedule 29.06.2016

Сначала вы должны переключить флаг useUTC на FALSE. Затем вы можете установить timezoneOffset по своему усмотрению и сохранить параметры обратно.

global <- getOption("highcharter.global")
global$useUTC <- FALSE
global$timezoneOffset <- -300
options(highcharter.global = global)

Для лучшего понимания убедитесь, что вы взглянули на global:

str(global)
person sdittmar    schedule 22.12.2018