如何在 R 中设置 highchart 全局选项

Posted

技术标签:

【中文标题】如何在 R 中设置 highchart 全局选项【英文标题】:How to set highchart global options IN R 【发布时间】:2014-10-05 15:30:07 【问题描述】:

我在 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 显示。

【问题讨论】:

您是否使用了未命名的 R 包? @SebastianBochan 我已经更新了代码。感谢您的宝贵时间。 @BondedDust 我正在使用 rCharts 包 【参考方案1】:

highcharter 的 0.5.0 版开始,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 来关闭,参见Replacing/removing the metric notations like thousands "k" abbreviation。

【讨论】:

【参考方案2】:

可以访问 highcharter 选项,但它们是在列表元素highcharter.options 下的标准 R 选项中设置的。不直接给highchart,在highchart()里面,有opts &lt;- 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 部分。

【讨论】:

【参考方案3】:

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

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

为了更好地理解,请务必查看全局:

str(global)

【讨论】:

以上是关于如何在 R 中设置 highchart 全局选项的主要内容,如果未能解决你的问题,请参考以下文章

在 @nestjs/mongoose 中设置 mongoose 全局选项

如何在highcharts中设置动态数据

如何在标签Highcharts中设置“Y”位置[复制]

在现代 CMake 中设置全局选项?

在R中的引用类中设置全局变量

Highcharts中设置x轴为时间的写法