R Shiny:页面加载时 Highcharts (rCharts) 中的 setExtremes
R Shiny: setExtremes in Highcharts (rCharts) on page load
我有一个闪亮的应用程序,它使用 rCharts 库来创建 Highcharts 图表。当应用程序首次启动时,我希望将应用程序放大到特定区域。
Highcharts 方法是 setExtremes() http://api.highcharts.com/highcharts#Axis.setExtremes
以下是可以在交互式 R 中 运行 的最小示例:
library(shiny)
library(rCharts)
runApp(list(
ui = pageWithSidebar(
headerPanel("title"),
sidebarPanel('sidebar'),
mainPanel(showOutput("testPlot", "Highcharts"))
),
server = function(input, output, session) {
output$testPlot <- renderChart2({
hc <- Highcharts$new()
hc$xAxis(categories=c('Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su',
'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'))
hc$series(data=c(7, 1, 4, 2.5, 3.25, 2.875, 3.0625, 3, 3, 3, 3, 3, 3, 3))
setX <- "#! function() {
var cht = this;
var chtXAxis = this.xAxis[0];
setTimeout(function() {
console.log(chtXAxis.getExtremes().max); // correctly shows 13 in the console
chtXAxis.setExtremes(2, 10);
console.log(chtXAxis.getExtremes().max); // nothing in the console
cht.showResetZoom();
}, 2000)
} !#"
hc$chart(type="spline", zoomType='xy', events=list(load=setX))
hc$set(domID="testPlot")
return(hc)
})
}
))
在控制台可以看到getExtremes()方法成功了,但是setExtremes()方法不起作用。我不知道为什么。
任何人都可以帮助解决这个问题,或者就如何更好地设置加载时的极限提出建议吗?
Victorp 的回复表明我的代码没有根本性的错误,但 rCharts 确实很旧。如果您的 rCharts 版本比今天更新,上面的代码应该可以工作,也许还有一些旧版本。我不知道我正在处理哪个版本,但它已经有几个月了。
感谢 Victorp。
我有一个闪亮的应用程序,它使用 rCharts 库来创建 Highcharts 图表。当应用程序首次启动时,我希望将应用程序放大到特定区域。
Highcharts 方法是 setExtremes() http://api.highcharts.com/highcharts#Axis.setExtremes
以下是可以在交互式 R 中 运行 的最小示例:
library(shiny)
library(rCharts)
runApp(list(
ui = pageWithSidebar(
headerPanel("title"),
sidebarPanel('sidebar'),
mainPanel(showOutput("testPlot", "Highcharts"))
),
server = function(input, output, session) {
output$testPlot <- renderChart2({
hc <- Highcharts$new()
hc$xAxis(categories=c('Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su',
'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'))
hc$series(data=c(7, 1, 4, 2.5, 3.25, 2.875, 3.0625, 3, 3, 3, 3, 3, 3, 3))
setX <- "#! function() {
var cht = this;
var chtXAxis = this.xAxis[0];
setTimeout(function() {
console.log(chtXAxis.getExtremes().max); // correctly shows 13 in the console
chtXAxis.setExtremes(2, 10);
console.log(chtXAxis.getExtremes().max); // nothing in the console
cht.showResetZoom();
}, 2000)
} !#"
hc$chart(type="spline", zoomType='xy', events=list(load=setX))
hc$set(domID="testPlot")
return(hc)
})
}
))
在控制台可以看到getExtremes()方法成功了,但是setExtremes()方法不起作用。我不知道为什么。
任何人都可以帮助解决这个问题,或者就如何更好地设置加载时的极限提出建议吗?
Victorp 的回复表明我的代码没有根本性的错误,但 rCharts 确实很旧。如果您的 rCharts 版本比今天更新,上面的代码应该可以工作,也许还有一些旧版本。我不知道我正在处理哪个版本,但它已经有几个月了。
感谢 Victorp。