0

我在 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 不起作用并且时间仍以 GMT 显示。

4

3 回答 3

3

从 0.5.0 版开始highcharter,该选项似乎highcharter.options不再存在,但有几个单独的选项,例如highcharter.langhighcharter.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”缩写等公制符号.

于 2017-11-07T23:46:15.463 回答
2

可以访问 highcharter 选项,但它们是在列表元素下的标准 R 选项中设置的highcharter.options。它们不是直接给highchart的,里面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零件。

于 2016-06-29T10:19:18.733 回答
1

首先,您必须将useUTC标志切换为FALSE. 您可以根据需要设置timezoneOffset并保存选项。

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

为了更好地理解,请确保您查看全局:

str(global)
于 2018-12-22T22:14:15.607 回答