У меня есть блестящее приложение, которое пользователи библиотеки rCharts создают диаграмму Highcharts. Когда приложение начнет сначала, я хочу, чтобы приложение было увеличено до определенного региона.R Shiny: setExtremes в Highcharts (rCharts) на странице load
Метод 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() не работает. Понятия не имею почему.
Может кто-нибудь помочь исправить это или дать рекомендацию о том, как лучше устанавливать крайности при загрузке?
Он работал для меня, с Chrome и Firefox, я вижу 13 и 10 в консоли. Может быть, обновить rCharts. – Victorp
Ooof, хорошее мышление. Сейчас это работает и для меня. Обновите пакет. Это урок. Большое вам спасибо за то, что вы попробовали и ответили. – user2894965